docker run -d --name postgresCont -p 5432:5432 -e POSTGRES_PASSWORD=pass123 postgres
Uruchomienie kontenera z wolumenem na lokalnym komputerze (hoście)
docker run -d \
--name postgresCont \
-p 5432:5432 \
-e POSTGRES_PASSWORD=pass123 \
-v ~/postgres_data:/var/lib/postgresql/data \
postgres
gdzie ~/postgres_data jest lokalną (na hoście) ścieżką na dane
Sprawdzenie kontenera
docker ps
Wejście do konsoli kontenera
docker exec -it postgresCont bash
Wejście do psql Postgresa
-h - host
-U - użytkownik
-d - baza danych
psql -h localhost -U postgres -d db_name
Jeśli użytkownik nie ma hasła, to można wejść tak:
psql -h localhost -U postgres -d db_name --no-password
Wyświetlenie wszystkich baz danych
\l
Utworzenie bazy danych (średnik na końcu)
CREATE DATABASE test_db;
Podpięcie się do bazy
\c test_db
Utworzenie tabeli
CREATE TABLE tech_authors(ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, TYPE TEXT NOT NULL, CATEGORY TEXT NOT NULL, ATICLES INT NOT NULL);
Utworzenie rekordu w tabeli
INSERT INTO tech_authors VALUES (1, 'Franio', 'Junior', 'Docker', 3);
Wyświetlenie zawartości tabeli
SELECT * FROM tech_authors;
Usunięcie tabeli
DROP TABLE tech_authors;
W PostgreSQL użytkownik to ROLE
spore uproszczenie, ale na początek może wystarczyć.
Wyświetlennie użytkowników
\du
Utworzenie użytkownika
CREATE ROLE test_user SUPERUSER;
Zmiana hasła użytkownika
ALTER USER test_user WITH PASSWORD 'MojeHaslo123';
Nadanie użytkownikowi prawa logowania się
ALTER USER test_user WITH LOGIN;
Nadanie użytkownikowi praw
GRANT ALL PRIVILEGES ON DATABASE test_db TO test_user;
Nadanie użytkownikowi prawa własności do bazy
ALTER DATABASE test_db OWNER TO test_user;
Usunięcie użytkownika
DROP ROLE test_user;
Usunięcie bazy danych
DROP DATABASE test_db;
Sprawdzenie ile Docker zajmuje miejsca na dysku (nie tylko sam Postgres) - tylko na MacOS
du -sh ~/Library/Containers/com.docker.docker/
Usunięcie kontenera wraz z wolumenami
docker rm -v postgresCont
Usunięcie nieużywanych wolumenów Dockera
docker volume prune
Brak komentarzy:
Prześlij komentarz