рд╕реЗрд╢рдиреЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛, рд╕рд┐рдВрдЯреИрдХреНрд╕ рдпрд╛рдж рд░рдЦрдирд╛, рдФрд░ рдЙрдореНрдореАрдж рдХрд░рдирд╛ рдХрд┐ рдЖрдкрдиреЗ рдХрд┐рд╕реА рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдХреНрд╡реЗрд░реА рдореЗрдВ рдЯрд╛рдЗрдкреЛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИтАФрдпрд╣ рд╕рдм рдЬрд▓реНрджреА рд╣реА рдердХрд╛ рджреЗрддрд╛ рд╣реИред рдХреЛрдИ рд╡рд┐рдЬрд╝реБрдЕрд▓ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдирд╣реАрдВ, рдХреЛрдИ рд╕реНрдХреАрдорд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдирд╣реАрдВ, рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЖрд╕рд╛рди рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рднреА рдирд╣реАрдВред рдпрд╣ рдЪрд▓рддрд╛ рд╣реИ, рдкрд░ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИред
pgAdmin 4 рдЗрд╕реЗ PostgreSQL рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░-рдЖрдзрд╛рд░рд┐рдд GUI рд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЗрд╕реЗ Docker рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд▓реЛрдХрд▓ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╢реВрдиреНрдптАФрдмрд╕ рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдКрдБрдЧрд╛ рдХрд┐ Docker Compose рдХреЗ рд╕рд╛рде PostgreSQL рдФрд░ pgAdmin 4 рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВ, рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдХреИрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рдФрд░ pgAdmin рдХреЗ Query Tool, рд╕реНрдХреАрдорд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдФрд░ рдмреИрдХрдЕрдк рдлреАрдЪрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред
рд╕рд╛рде рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдорд╢реАрди рдкрд░ Docker рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рд░рдирд┐рдВрдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк Docker Compose рдореЗрдВ рдирдП рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░рд╛ рдЧрд╛рдЗрдб рдкрдврд╝реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдорд▓реНрдЯреА-рдХрдВрдЯреЗрдирд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЛ рдХреИрд╕реЗ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИред
pgAdmin 4 рдХреНрдпрд╛ рд╣реИ?
pgAdmin 4 PostgreSQL рдХреЗ рд▓рд┐рдП рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕, рдмреНрд░рд╛рдЙрдЬрд╝рд░-рдЖрдзрд╛рд░рд┐рдд рдПрдбрдорд┐рди рдФрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИред рдЖрдк рдЗрд╕реЗ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВред рдпрд╣ рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬ рдХрд░рдиреЗ, рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЪрд▓рд╛рдиреЗ, рд╕реНрдХреАрдорд╛ рджреЗрдЦрдиреЗ, рдФрд░ рдмреИрдХрдЕрдк рд╣реИрдВрдбрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GUI рджреЗрддрд╛ рд╣реИтАФрд╡рд╣ рднреА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЫреБрдП рдмрд┐рдирд╛ред
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Docker рдЗрдореЗрдЬ dpage/pgadmin4 рд╣реИ, рдЬрд┐рд╕реЗ pgAdmin рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреАрдо рдореЗрдВрдЯреЗрди рдХрд░рддреА рд╣реИред
Docker рдореЗрдВ pgAdmin 4 рдЪрд▓рд╛рдиреЗ рдХреЗ рдХреБрдЫ рдмрдбрд╝реЗ рдлрд╛рдпрджреЗ рд▓реЛрдХрд▓ рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ рд╣реИрдВред рдкрд╣рд▓рд╛ рд╣реИ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреАтАФрдЖрдкрдХрд╛ рдкреВрд░рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдПрдХ docker-compose.yml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЯреАрдо рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреВрд╕рд░рд╛, рдХреЛрдИ рд╡рд░реНрдЬрд╝рди рдХреЙрдиреНрдлреНрд▓рд┐рдХреНрдЯ рдирд╣реАрдВтАФpgAdmin рдЕрдкрдиреЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ, рдЖрдкрдХреЗ рдорд╢реАрди рдХреА рдмрд╛рдХреА рдЪреАрдЬрд╝реЛрдВ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рдЖрдЗрд╕реЛрд▓реЗрдЯреЗрдбред рдФрд░ рдЬрдм рдХрд╛рдо рд╣реЛ рдЬрд╛рдП, docker compose down рд╕рдм рд╕рд╛рдл рдХрд░ рджреЗрддрд╛ рд╣реИред
pgAdmin 4 рдмрдирд╛рдо рдЕрдиреНрдп PostgreSQL GUIs
рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ GUI рдЯреВрд▓реНрд╕ рдХреА рдХрдореА рдирд╣реАрдВ рд╣реИред рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВ рдХрд┐ pgAdmin 4 рджреЛ рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреИрд╕рд╛ рд╣реИред

pgAdmin 4 рдмрдирд╛рдо рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рдХрд▓реНрдк
DBeaver рдФрд░ TablePlus рдЕрдЪреНрдЫреЗ рдЯреВрд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреЛрдиреЛрдВ рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Docker рдЗрдореЗрдЬ рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдЖрдкрдХрд╛ PostgreSQL рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд╣рд▓реЗ рд╕реЗ Docker рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ pgAdmin 4 рдмреЗрд╣рддрд░реАрди рдлрд┐рдЯ рд╣реИтАФрдмрд╕ рдЖрдкрдХреЛ рдЕрдкрдиреЗ docker-compose.yml рдореЗрдВ рдПрдХ рд╕рд░реНрд╡рд┐рд╕ рдЬреЛрдбрд╝рдиреА рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рдПрдХ рд╣реА рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реИред
Docker Compose рдХреЗ рд╕рд╛рде рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗрдЯ рдХрд░рдирд╛
PostgreSQL рдФрд░ pgAdmin 4 рдХреЛ рд╕рд╛рде рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рддрд░реАрдХрд╛ рдПрдХ рд╣реА docker-compose.yml рдлрд╝рд╛рдЗрд▓ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдирдП рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░рд╛ Docker Compose рдЧрд╛рдЗрдб рдЖрдзрд╛рд░рднреВрдд рдмрд╛рддреЗрдВ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ, рдореИрдВ pgAdmin-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░ рдзреНрдпрд╛рди рджреВрдБрдЧрд╛ред
рдпрд╣рд╛рдБ рдкреВрд░реА рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
services:
postgres:
image: postgres:18
container_name: postgres
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: secret
POSTGRES_DB: mydb
volumes:
- postgres_data:/var/lib/postgresql
networks:
- pgnetwork
pgadmin:
image: dpage/pgadmin4:9.13
container_name: pgadmin
environment:
PGADMIN_DEFAULT_EMAIL: [email protected]
PGADMIN_DEFAULT_PASSWORD: password
PGADMIN_LISTEN_PORT: 5050
ports:
- "5050:5050"
volumes:
- pgadmin_data:/var/lib/pgadmin
depends_on:
- postgres
networks:
- pgnetwork
volumes:
postgres_data:
pgadmin_data:
networks:
pgnetwork:рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
depends_on рдлрд╝реАрд▓реНрдб Docker Compose рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ pgadmin рд╕реЗ рдкрд╣рд▓реЗ postgres рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдмрд┐рдирд╛, pgAdmin PostgreSQL рдХреЗ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╢реБрд░реВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ PostgreSQL рдХреЗ рдкреВрд░реА рддрд░рд╣ рд╣реЗрд▓реНрджреА рд╣реЛрдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╝рд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛тАФрд╕рд┐рд░реНрдл рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХрд╛ред рдлрд┐рд░ рднреА рдпрд╣ рдЬрд╝реНрдпрд╛рджрд╛рддрд░ рд░реЗрд╕ рдХрдВрдбреАрд╢рдиреНрд╕ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
pgAdmin 4 environment variables
рджреЛ environment variables рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИрдВ:
PGADMIN_DEFAULT_EMAIL - рд╡рд╣ рдИрдореЗрд▓ рдкрддрд╛ рдЬрд┐рд╕рд╕реЗ рдЖрдк pgAdmin рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВрдЧреЗ
PGADMIN_DEFAULT_PASSWORD - рдЙрд╕ рдЦрд╛рддреЗ рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб
рддреАрд╕рд░рд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
PGADMIN_LISTEN_PORT - рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд╡рд╣ рдкреЛрд░реНрдЯ рдЬрд┐рд╕ рдкрд░ pgAdmin рд╕реБрдирддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ 80 рд╣реИ, рдкрд░ рдЗрд╕реЗ 5050 рдХрд░рдиреЗ рд╕реЗ рдкреЛрд░реНрдЯ рдореИрдкрд┐рдВрдЧ рд╕рд╛рдл рд░рд╣рддреА рд╣реИред
рдпрд╣ рдХрд╣рд╛ рдЬрд╛рдП, рддреЛ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ Compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд░рдирд╛ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рд╡рд░реНрдЬрд╝рди рдХрдВрдЯреНрд░реЛрд▓ рдореЗрдВ рдЪрд▓реА рдЬрд╛рдПред рдЗрдиреНрд╣реЗрдВ .env рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдБред
рдЕрдкрдиреЗ docker-compose.yml рдХреЗ рд╕рдорд╛рди рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдПрдХ .env рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:
POSTGRES_USER=admin
POSTGRES_PASSWORD=secret
POSTGRES_DB=mydb
PGADMIN_DEFAULT_EMAIL=[email protected]
PGADMIN_DEFAULT_PASSWORD=secretрд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдлрд┐рд░ рдЕрдкрдиреЗ Compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрди рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрд╛ рд░реЗрдлрд╝рд░реЗрдВрд╕ рджреЗрдВ:
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
environment:
PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL}
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD}рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЬрдм рдЖрдк рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ, Docker Compose .env рдлрд╝рд╛рдЗрд▓ рдЙрдард╛ рд▓реЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВред рдмрд╕ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ .env рдХреЛ рдЕрдкрдиреЗ .gitignore рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдВ рдФрд░ рдЖрдкрдХреЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рд░реЗрдкреЛ рд╕реЗ рдмрд╛рд╣рд░ рд░рд╣реЗрдВрдЧреЗред
рд╡реЙрд▓реНрдпреВрдореНрд╕ рдФрд░ рдбреЗрдЯрд╛ рдкрд░реНрд╕рд┐рд╕реНрдЯреЗрдВрд╕
/var/lib/pgadmin рдкрд░ рдореИрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡реЙрд▓реНрдпреВрдо рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ pgAdmin рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рд╕реЗрд╢рди рдбреЗрдЯрд╛, рд╕реЗрд╡реНрдб рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рди, рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиред рдЗрд╕реЗ compose рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рд╣рд░ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдкрд░ рдпрд╣ рд╕рдм рдЦреЛ рдЬрд╛рдПрдЧрд╛ред
рдореМрдЬреВрджрд╛ compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдирд╛рдорд┐рдд рд╡реЙрд▓реНрдпреВрдо рд╣реИ рдЬрд┐рд╕реЗ Docker рдЖрдкрдХреЗ рд╣реЛрд╕реНрдЯ рдорд╢реАрди рдкрд░ рдореИрдиреЗрдЬ рдХрд░рддрд╛ рд╣реИред рдбреЗрдЯрд╛ рдХрдВрдЯреЗрдирд░ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ, рд░реА-рдХреНрд░рд┐рдПрд╢рди, рдФрд░ рдЗрдореЗрдЬ рдЕрдкрдбреЗрдЯ рдХреЗ рдмреАрдЪ рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИтАФрдЬрдм рддрдХ рдХрд┐ рдЖрдк рд╡реЙрд▓реНрдпреВрдо рдХреЛ docker volume rm рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдбрд┐рд▓реАрдЯ рди рдХрд░ рджреЗрдВред
рд╕реНрдЯреИрдХ рд╢реБрд░реВ рдХрд░рдирд╛ рдФрд░ pgAdmin 4 рддрдХ рдкрд╣реБрдБрдЪрдирд╛
рдЬрдм рдЖрдкрдХрд╛ docker-compose.yml рддреИрдпрд╛рд░ рд╣реЛ, рддреЛ рд╕реНрдЯреИрдХ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:
docker compose up -dрд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
-d рдлреНрд▓реИрдЧ рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ detached рдореЛрдб рдореЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реИтАФрд╡реЗ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХрд╛ рдЯрд░реНрдорд┐рдирд▓ рдЦрд╛рд▓реА рд░рд╣рддрд╛ рд╣реИред рдпрд╣ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░ рд░рдирд┐рдВрдЧ рд╣реИрдВ:
docker psрд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЖрдкрдХреЛ postgres рдФрд░ pgadmin рджреЛрдиреЛрдВ Up рд╕реНрдЯреЗрдЯрд╕ рдХреЗ рд╕рд╛рде рджрд┐рдЦрдиреЗ рдЪрд╛рд╣рд┐рдПред

рдХрдВрдЯреЗрдирд░ рд╕реНрдЯреЗрдЯрд╕
рдпрджрд┐ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд▓рдЧреЗ, рддреЛ pgAdmin рд▓реЙрдЧреНрд╕ рджреЗрдЦреЗрдВ:
docker logs pgadminрд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рд╣реЗрд▓реНрджреА рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреБрдЫ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

pgAdmin рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд▓реЙрдЧреНрд╕
рдпрджрд┐ рдпрд╣рд╛рдБ рддреНрд░реБрдЯрд┐ рджрд┐рдЦреЗ, рддреЛ рд╕рдВрднрд╡рддрдГ рдпреЗ рддреАрди рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛрдЧреА:
-
Password authentication failed: рдЖрдкрдХрд╛ PGADMIN_DEFAULT_PASSWORD .env рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЧрд╛рдпрдм рд╣реИ рдпрд╛ рдЧрд▓рдд рдмрдирд╛ рд╣реБрдЖ рд╣реИ
-
Port is already allocated: рдкреЛрд░реНрдЯ 5050 рдкрд░ рдХреБрдЫ рдФрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ; рдЕрдкрдиреЗ Compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реЛрд╕реНрдЯ рдкреЛрд░реНрдЯ рдмрджрд▓реЗрдВ
-
No such file or directory: рд╡реЙрд▓реНрдпреВрдо рдкрд╛рде рдЧрд▓рдд рд╣реИ рдпрд╛ рдХрдВрдЯреЗрдирд░ рдХреЛ рдЙрд╕ рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ
рдЬрдм рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░ рдЪрд▓ рд░рд╣реЗ рд╣реЛрдВ рдФрд░ рд▓реЙрдЧреНрд╕ рд╕рд╛рдл рджрд┐рдЦреЗрдВ, рддреЛ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ http://localhost:5050 рдЦреЛрд▓реЗрдВ:

pgAdmin рд▓реЙрдЧрд┐рди рдкреЗрдЬ
PGADMIN_DEFAULT_EMAIL рдФрд░ PGADMIN_DEFAULT_PASSWORD рдореЗрдВ рд╕реЗрдЯ рдИрдореЗрд▓ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВред рдЖрдк pgAdmin рдбреИрд╢рдмреЛрд░реНрдб рдкрд░ рдкрд╣реБрдБрдЪреЗрдВрдЧреЗ, рдЬрд╣рд╛рдБ рдЖрдк рдЕрдкрдирд╛ PostgreSQL рд╕рд░реНрд╡рд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

pgAdmin рд╣реЛрдо рдкреЗрдЬ
pgAdmin 4 рдХреЛ рдЕрдкрдиреЗ PostgreSQL рдХрдВрдЯреЗрдирд░ рд╕реЗ рдЬреЛрдбрд╝рдирд╛
pgAdmin рдХреА рд╕рд╛рдЗрдбрдмрд╛рд░ рдореЗрдВ, Servers рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ - Register - Serverред рдПрдХ рдбрд╛рдпрд▓реЙрдЧ рдЦреБрд▓реЗрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рджреЛ рдЯреИрдм рднрд░рдиреЗ рд╣реИрдВ: General рдФрд░ Connectionред
General рдЯреИрдм
рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ рдЕрд░реНрдердкреВрд░реНрдг рдирд╛рдо рджреЗрдВтАФрдЬреИрд╕реЗ local-dev-postgresред рдпрд╣ рд╕рд┐рд░реНрдл pgAdmin рдХреЗ рдЕрдВрджрд░ рдХрд╛ рд▓реЗрдмрд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реЗрдЯрдЕрдк рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреБрдЫ рднреА рдЪреБрдиреЗрдВред

рд╕рд░реНрд╡рд░ рдкрдВрдЬреАрдХрд░рдг - General рдЯреИрдм
Connection рдЯреИрдм
рдпрд╣рд╛рдБ localhost рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред┬а
Docker рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЕрдВрджрд░, localhost рдХрдВрдЯреЗрдирд░ рд╕реНрд╡рдпрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИтАФрди рдХрд┐ рдЖрдкрдХрд╛ рд╣реЛрд╕реНрдЯ рдорд╢реАрди, рдФрд░ рди рд╣реА PostgreSQL рдХрдВрдЯреЗрдирд░ред Docker рдХрд╛ рдЕрдкрдирд╛ рдЖрдВрддрд░рд┐рдХ DNS рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЗ docker-compose.yml рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рд░реНрд╡рд┐рд╕ рдирд╛рдореЛрдВ рд╕реЗ рдХрдВрдЯреЗрдирд░ рдирд╛рдо рд░реЗрдЬрд╝реЙрд▓реНрд╡ рдХрд░рддрд╛ рд╣реИред рддреЛ рдпрджрд┐ рдЖрдкрдХреЗ PostgreSQL рд╕рд░реНрд╡рд┐рд╕ рдХрд╛ рдирд╛рдо postgres рд╣реИ, рддреЛ рд╡рд╣реА рд╣реЛрд╕реНрдЯрдиреЗрдо рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдлреАрд▓реНрдбреНрд╕ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рднрд░реЗрдВ:
-
Host name/address: postgres (docker-compose.yml рдХрд╛ рд╕рд░реНрд╡рд┐рд╕ рдирд╛рдо)
-
Port: 5432
-
Maintenance database: рдЖрдкрдХреЗ Compose рдлрд╝рд╛рдЗрд▓ рдХрд╛ POSTGRES_DB рдорд╛рди (рдЙрджрд╛., mydb)
-
Username: POSTGRES_USER рдХрд╛ рдорд╛рди (рдЙрджрд╛., admin)
-
Password: POSTGRES_PASSWORD рдХрд╛ рдорд╛рди
Save рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред┬а

рд╕рд░реНрд╡рд░ рдкрдВрдЬреАрдХрд░рдг - Connection рдЯреИрдм
рдпрджрд┐ рд╕рдм рд╕рд╣реА рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдбрдмрд╛рд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдФрд░ рдЖрдк рдЗрд╕реЗ рдПрдХреНрд╕рдкреИрдВрдб рдХрд░рдХреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рджреЗрдЦ рдкрд╛рдПрдБрдЧреЗ:

рд╕рдлрд▓ рд╕рд░реНрд╡рд░ рдкрдВрдЬреАрдХрд░рдг
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдХрдиреЗрдХреНрдЯ рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВред
рдЕрдм рдЬрдм рдЖрдк рдХрдиреЗрдХреНрдЯ рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ pgAdmin 4 рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ Postgres рдХреА рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЗрдВ рджрд┐рдЦрд╛рдКрдБрдЧрд╛ред
рдЯреЙрдк рдореЗрдиреВ рд╕реЗ Tools - Query Tool рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ Query Tool рдЦреЛрд▓реЗрдВред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рддреАрди рдкреИрдирд▓ рд╣реЛрддреЗ рд╣реИрдВ:
- Editor: рдЬрд╣рд╛рдБ рдЖрдк SQL рд▓рд┐рдЦрддреЗ рд╣реИрдВ
- Data Output: рдЬрд╣рд╛рдБ рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрддреЗ рд╣реИрдВ
- Messages: рдЬрд╣рд╛рдБ PostgreSQL рд╕реНрдЯреЗрдЯрд╕ рдореИрд╕реЗрдЬ, рдПрд░рд░, рдФрд░ рдПрдХреНрдЬрд╝реАрдХреНрдпреВрд╢рди рдЬрд╛рдирдХрд╛рд░реА рднреЗрдЬрддрд╛ рд╣реИ

рдХреНрд╡реЗрд░реА рдЯреВрд▓
SQL рд▓рд┐рдЦрдирд╛ рдФрд░ рдЪрд▓рд╛рдирд╛
рдЖрдЗрдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг orders рдЯреЗрдмрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЖрдк рд╣рд░ рдмреНрд▓реЙрдХ рдХреЛ Play рдмрдЯрди рджрдмрд╛рдХрд░ рдпрд╛ F5 рд╢реЙрд░реНрдЯрдХрдЯ рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЪрд▓рд╛рдПрдБ:
CREATE TABLE orders (
order_id SERIAL PRIMARY KEY,
customer_name VARCHAR(100) NOT NULL,
product VARCHAR(100) NOT NULL,
quantity INT NOT NULL,
order_date DATE DEFAULT CURRENT_DATE
);рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ:
INSERT INTO orders (customer_name, product, quantity)
VALUES
('Alice Johnson', 'Wireless Keyboard', 2),
('Bob Smith', 'USB-C Hub', 1),
('Carol White', 'Mechanical Keyboard', 3);рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдФрд░ рдЕрдм рдбреЗрдЯрд╛ рдХреНрд╡реЗрд░реА рдХрд░реЗрдВ:
SELECT * FROM orders;рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛

рдбреЗрдЯрд╛ рдХреНрд╡реЗрд░реА рдХрд░рдирд╛
рдкрд░рд┐рдгрд╛рдо Data Output рдкреИрдирд▓ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рдЖрдк рдХреЙрд▓рдореЛрдВ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдирдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЧреНрд░рд┐рдб рд╕реЗ рд╕реАрдзреЗ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд┐рдЬрд╝реБрдЕрд▓ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдкрдврд╝рдирд╛
рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрд╡реЗрд░реА рдЪрд▓рдиреЗ рдкрд░ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЕрдкрдиреЗ SELECT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдкрд░ EXPLAIN ANALYZE рдЪрд▓рд╛рдПрдБ:
EXPLAIN ANALYZE SELECT * FROM orders WHERE customer_name = 'Alice Johnson';рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛

Explain Analyze рдкрд░рд┐рдгрд╛рдо
Data Output рдкреИрдирд▓ рд░реЙ рдЖрдЙрдЯрдкреБрдЯ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди pgAdmin рдХреЗ рдкрд╛рд╕ рдЗрд╕рд╕реЗ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдЯреВрд▓рдмрд╛рд░ рдореЗрдВ Explain рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВтАФрдФрд░ pgAdmin рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдХреЛ рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд░ рджреЗрддрд╛ рд╣реИред

рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди
рдЕрднреА рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреНрд╡реЗрд░реА рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЯреЗрдмрд▓ рдЬреЙрдЗрди рдХрд░ рд░рд╣реЗ рд╣реЛрдВ рдпрд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдПрдЧреНрд░реАрдЧреЗрд╢рди рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓реЗрдЧреАред
рдпрд╣ рдЗрд╕рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд░реЙ EXPLAIN рдЖрдЙрдЯрдкреБрдЯ рдкрдврд╝рдирд╛ рдзреАрдорд╛ рдФрд░ рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рдЬрд╝реБрдЕрд▓ рдкреНрд▓рд╛рди рд╕реЗ рд╕рд╛рдл рджрд┐рдЦ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ PostgreSQL рдХрд┐рд╕реА рдмрдбрд╝реЗ рдЯреЗрдмрд▓ рдкрд░ рдлреБрд▓ рдЯреЗрдмрд▓ рд╕реНрдХреИрди рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рдХреЛрдИ рдЗрдВрдбреЗрдХреНрд╕ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдкрд░ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ред
рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдХрд╛ рдкреНрд░рдмрдВрдзрди
pgAdmin рдХреА рд╕рд╛рдЗрдбрдмрд╛рд░ рдЖрдкрдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╛ рдкреВрд░рд╛ рджреГрд╢реНрдп рджреЗрддреА рд╣реИтАФрдФрд░ GUI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рджреЗрддреА рд╣реИред
рд╕рд╛рдЗрдбрдмрд╛рд░ рдЯреНрд░реА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЪрд▓рддрд╛ рд╣реИ: Servers - рдЖрдкрдХрд╛ рд╕рд░реНрд╡рд░ рдирд╛рдо - Databases - рдЖрдкрдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ - Schemas - public - Tablesред рдХрд┐рд╕реА рднреА рдЯреЗрдмрд▓ рдХреЛ рдПрдХреНрд╕рдкреИрдВрдб рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХреЛ рдЙрд╕рдХреА Columns, Indexes, рдФрд░ Constraints рдЪрд╛рдЗрд▓реНрдб рдиреЛрдбреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦреЗрдВрдЧреЗред рдХрд┐рд╕реА рдкрд░ рднреА рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рджрд╛рдПрдБ рдкреИрдирд▓ рдореЗрдВ рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВред
рдЯреЗрдмрд▓ рдмрдирд╛рдирд╛ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛
рдирдИ рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рд╕реНрдХреАрдорд╛ рдХреЗ рдЕрдВрддрд░реНрдЧрдд Tables рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ Create - Table рдЪреБрдиреЗрдВред рдПрдХ рдбрд╛рдпрд▓реЙрдЧ рдЦреБрд▓реЗрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдЯреИрдм рд╣реЛрдВрдЧреЗред

рдЯреЗрдмрд▓ рдмрдирд╛рдирд╛
General рдЯреИрдм рдореЗрдВ рдЖрдк рдЯреЗрдмрд▓ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдХреЙрд▓рдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП Columns рдЯреИрдм рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВтАФрд╣рд░ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЖрдк рдХреЙрд▓рдо рдирд╛рдо, рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк, рд▓рдВрдмрд╛рдИ, рдФрд░ nullable рд╣реЛрдирд╛/рди рд╣реЛрдирд╛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред Constraints рдЯреИрдм рдореЗрдВ рдкреНрд░рд╛рдЗрдорд░реА рдХреА, рдлрд╝реЙрд░реЗрди рдХреА, рдФрд░ рдпреВрдирд┐рдХ constraints рд╕реЗрдЯ рд╣реЛрддреЗ рд╣реИрдВред
рдореМрдЬреВрджрд╛ рдЯреЗрдмрд▓ рдореЗрдВ рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдЗрдбрдмрд╛рд░ рдореЗрдВ рдЯреЗрдмрд▓ рдХреЛ рдПрдХреНрд╕рдкреИрдВрдб рдХрд░реЗрдВ, Indexes рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░ Create - Index рдЪреБрдиреЗрдВред рдЗрдВрдбреЗрдХреНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдо рдЪреБрдиреЗрдВ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рдЯрд╛рдЗрдк рдЪреБрдиреЗрдВтАФbtree рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдирд╛
рдмреИрдХрдЕрдк рдФрд░ рд░рд┐рд╕реНрдЯреЛрд░
рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП, Tools - Backup рдкрд░ рдЬрд╛рдПрдБред рдЖрдкрдХреЛ рдПрдХ рдлрд╝реЙрд░реНрдореИрдЯ рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛:
- Custom: рдХрдВрдкреНрд░реЗрд╕реНрдб, рдмрд╛рдЗрдирд░реА рдлрд╝реЙрд░реНрдореИрдЯ; рд╕рдмрд╕реЗ рд▓рдЪреАрд▓рд╛ рд╡рд┐рдХрд▓реНрдк рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЗрд╕рд╕реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЯреЗрдмрд▓реНрд╕ рдХреЛ рд░рд┐рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
- Plain: рдПрдХ рд╕рд╛рджрд╛ SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд┐рд╕реЗ рдЖрдк рдХрд┐рд╕реА рднреА рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ рдЦреЛрд▓рдХрд░ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ
- Tar: рдЕрдирдХрдВрдкреНрд░реЗрд╕реНрдб рдЖрд░реНрдХрд╛рдЗрд╡; рдХрдо рд╕рд╛рдорд╛рдиреНрдп рд▓реЗрдХрд┐рди рдХреБрдЫ рд░рд┐рд╕реНрдЯреЛрд░ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдЙрдкрдпреЛрдЧреА
рдлрд╝реЙрд░реНрдореИрдЯ рдФрд░ рдбреЗрд╕реНрдЯрд┐рдиреЗрд╢рди рдкрд╛рде рдЪреБрдирдиреЗ рдХреЗ рдмрд╛рдж, pgAdmin рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ pg_dump рдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдЖрдкрдХреЗ рд▓реЛрдХрд▓ рдорд╢реАрди рдкрд░ рд╕реЗрд╡ рдХрд░ рджреЗрддрд╛ рд╣реИред

рдмреИрдХрдЕрдк рдмрдирд╛рдирд╛
рд░рд┐рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Tools - Restore рдкрд░ рдЬрд╛рдПрдБ, рдЕрдкрдиреА рдмреИрдХрдЕрдк рдлрд╝рд╛рдЗрд▓ рдЪреБрдиреЗрдВ, рдФрд░ рдЙрд╕реЗ рд▓рдХреНрд╖рд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдкреЙрдЗрдВрдЯ рдХрд░реЗрдВред

рдмреИрдХрдЕрдк рд╕реЗ рд░рд┐рд╕реНрдЯреЛрд░ рдХрд░рдирд╛
рдпрджрд┐ рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ рдпрд╣ рдХреНрдпреЛрдВ рдЙрдкрдпреЛрдЧреА рд╣реИ, рддреЛ рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдХрд┐рд╕реА рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдмреИрдХрдЕрдк рд▓реЗрдВ, рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЪрд▓рд╛рдПрдБ, рдФрд░ рдпрджрд┐ рдХреБрдЫ рдЯреВрдЯреЗ, рддреЛ рдмреИрдХрдЕрдк рд░рд┐рд╕реНрдЯреЛрд░ рдХрд░рдХреЗ рдЬреНрдЮрд╛рдд рд╕реНрдерд┐рддрд┐ рдкрд░ рд▓реМрдЯ рдЖрдПрдБред
Docker рдореЗрдВ pgAdmin 4 рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдБ
pgAdmin 4 рдЪрд▓рд╛рдирд╛ рдПрдХ рдмрд╛рдд рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдП рд░рдЦрдирд╛ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд╛рддреЛрдВ рдХреЗ рдЬреНрдЮрд╛рди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдХреБрдЫ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕реБрдЭрд╛рд╡ рд╣реИрдВред
рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ Compose рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦреЗрдВ
рдпрджрд┐ рдЖрдкрдХреА docker-compose.yml рд╡рд░реНрдЬрд╝рди рдХрдВрдЯреНрд░реЛрд▓ рдореЗрдВ рдЪрд▓реА рдЬрд╛рддреА рд╣реИтАФрдЬреЛ рдЖрдорддреМрд░ рдкрд░ рд╣реЛрддрд╛ рд╣реИтАФрддреЛ рд╣рд╛рд░реНрдбрдХреЛрдбреЗрдб рдкрд╛рд╕рд╡рд░реНрдбреНрд╕ рднреА рд╕рд╛рде рдЪрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВред рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЗ рд▓рд┐рдП .env рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЙрд╕реЗ .gitignore рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рдкреНрд░реЛрдбрдХреНрд╢рди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ, рдПрдХ рдХрджрдо рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдФрд░ Docker secrets рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдорд╛рдиреЛрдВ рдХреЛ environment variables рдХреЗ рдмрдЬрд╛рдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░рддреЗ рд╣реИрдВред
pgAdmin рдкреЛрд░реНрдЯ рдХреЛ рдХрднреА рдкрдмреНрд▓рд┐рдХрд▓реА рдПрдХреНрд╕рдкреЛрдЬрд╝ рди рдХрд░реЗрдВ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, Docker рдкреЛрд░реНрдЯреНрд╕ рдХреЛ 0.0.0.0 рд╕реЗ рдмрд╛рдБрдзрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХреЛрдИ рднреА рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕тАФрдкрдмреНрд▓рд┐рдХ рд╡рд╛рд▓реЗ рднреАред рдХрд┐рд╕реА рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рдкрд░, рдЗрд╕рд╕реЗ рдЖрдкрдХрд╛ pgAdmin рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдкрд╣реБрдБрдЪ рдпреЛрдЧреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп 127.0.0.1 рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрд╛рдБрдзреЗрдВ:
ports:
- "127.0.0.1:5050:5050"рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЗрд╕рд╕реЗ pgAdmin рдХреЗрд╡рд▓ рд╕рд░реНрд╡рд░ рд╕реЗ рд╣реА рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗрдЧрд╛ред рд░рд┐рдореЛрдЯ рдПрдХреНрд╕реЗрд╕ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реЛ рддреЛ SSH рдЯрдирд▓ рдпрд╛ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЕрдкрдиреА рдЗрдореЗрдЬ рдЯреИрдЧреНрд╕ рдкрд┐рди рдХрд░реЗрдВ
dpage/pgadmin4:latest рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдЕрдЧрд▓реА рдмрд╛рд░ рдХреЛрдИ docker compose pull рдЪрд▓рд╛рдПрдЧрд╛ рддреЛ рдирдпрд╛ рд╡рд░реНрдЬрд╝рди рдЦрд┐рдВрдЪ рд╕рдХрддрд╛ рд╣реИред рдирдпрд╛ рд╡рд░реНрдЬрд╝рди рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЖрдкрдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧ рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдмрджрд▓рд╛рд╡ рд▓рд╛ рд╕рдХрддрд╛ рд╣реИред dpage/pgadmin4:9.13 рдЬреИрд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╣рд░ рдЯреАрдордореЗрдЯ рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рд╣реА рд╡рд░реНрдЬрд╝рди рдЪрд▓рд╛рдПред
servers.json рд╕реЗ рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рдВрд╕ рдкреНрд░реАрд▓реЛрдб рдХрд░реЗрдВ
рдпрджрд┐ рдЖрдкрдХреА рдкреВрд░реА рдЯреАрдо рдПрдХ рд╣реА Compose рд╕реЗрдЯрдЕрдк рд╕рд╛рдЭрд╛ рдХрд░рддреА рд╣реИ, рддреЛ рд╕реНрдЯреИрдХ рд╕реНрдкрд┐рди-рдЕрдк рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рд░ рдХрд┐рд╕реА рдХреЛ PostgreSQL рд╕рд░реНрд╡рд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рди рдХрд░реЗрдВред pgAdmin рдПрдХ servers.json рдлрд╝рд╛рдЗрд▓ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдХрдиреЗрдХреНрд╢рдВрд╕ рдХреЛ рдкреНрд░реА-рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИред рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВ:
volumes:
- ./servers.json:/pgadmin4/servers.jsonрд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдиреНрдпреВрдирддрдо servers.json рдХреБрдЫ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
{
"Servers": {
"1": {
"Name": "local-dev-postgres",
"Group": "Servers",
"Host": "postgres",
"Port": 5432,
"MaintenanceDB": "mydb",
"Username": "admin",
"SSLMode": "prefer"
}
}
}рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
pgAdmin рд╕реНрдЯрд╛рд░реНрдЯ рд╣реЛрддреЗ рд╣реА рд╕рд░реНрд╡рд░ рджрд┐рдЦ рдЬрд╛рдПрдЧрд╛тАФрдХреЛрдИ рдореИрдиреБрдЕрд▓ рд╕реЗрдЯрдЕрдк рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдЖрдкрдХреЛ рд╢реБрд░реВ рд╕реЗ Docker рдореЗрдВ pgAdmin 4 рд╕реЗрдЯ рдХрд░рдирд╛ рд╕рд┐рдЦрд╛рдпрд╛ред рдЖрдкрдиреЗ рдПрдХ Docker Compose рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦреА рдЬреЛ PostgreSQL рдФрд░ pgAdmin 4 рдХреЛ рд╕рд╛рде рд▓рд╛рддреА рд╣реИ, Docker рдХреЗ рдЖрдВрддрд░рд┐рдХ DNS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛, рдФрд░ pgAdmin рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБтАФQuery Tool, рд╕реНрдХреАрдорд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдФрд░ рдмреИрдХрдЕрдк/рд░рд┐рд╕реНрдЯреЛрд░ рд╡рд░реНрдХрдлрд╝реНрд▓реЛтАФрдЙрдкрдпреЛрдЧ рдХреАрдВред
рдпрд╣рд╛рдБ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реИтАФreproducibilityред┬а
docker-compose.yml рдлрд╝рд╛рдЗрд▓, servers.json, рдФрд░ .env рдлрд╝рд╛рдЗрд▓тАФрдмрд╕ рдЗрддрдирд╛ рдХрд╛рдлреА рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдЯреАрдордореЗрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реБрдЖ рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рджреЗ рд╕рдХреЗрдВред рдЗрд╕рд╕реЗ тАЬрдпрд╣ рдореЗрд░реА рдорд╢реАрди рдкрд░ рддреЛ рдЪрд▓рддрд╛ рд╣реИтАЭ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛ рдлрд┐рд░ рдирд╣реАрдВ рдЖрдПрдЧреАред
Docker рдФрд░ рдХрдВрдЯреЗрдирд░рд╛рдЗрдЬрд╝реЗрд╢рди рдкрд░ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ Intermediate Docker рдХреЛрд░реНрд╕ рджреЗрдЦреЗрдВред рдЗрд╕рдореЗрдВ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдбреНрд╕, рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ, рдФрд░ Compose рдкрд░ рдЧрд╣рди рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрд╕ рднрд░реЗ рд╣реБрдП рд╣реИрдВред
рд╕реЗрд╢рдиреЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛, рд╕рд┐рдВрдЯреИрдХреНрд╕ рдпрд╛рдж рд░рдЦрдирд╛, рдФрд░ рдЙрдореНрдореАрдж рдХрд░рдирд╛ рдХрд┐ рдЖрдкрдиреЗ рдХрд┐рд╕реА рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдХреНрд╡реЗрд░реА рдореЗрдВ рдЯрд╛рдЗрдкреЛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИтАФрдпрд╣ рд╕рдм рдЬрд▓реНрджреА рд╣реА рдердХрд╛ рджреЗрддрд╛ рд╣реИред рдХреЛрдИ рд╡рд┐рдЬрд╝реБрдЕрд▓ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдирд╣реАрдВ, рдХреЛрдИ рд╕реНрдХреАрдорд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдирд╣реАрдВ, рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЖрд╕рд╛рди рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рднреА рдирд╣реАрдВред рдпрд╣ рдЪрд▓рддрд╛ рд╣реИ, рдкрд░ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИред
pgAdmin 4 рдЗрд╕реЗ PostgreSQL рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░-рдЖрдзрд╛рд░рд┐рдд GUI рд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЗрд╕реЗ Docker рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд▓реЛрдХрд▓ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╢реВрдиреНрдптАФрдмрд╕ рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдКрдБрдЧрд╛ рдХрд┐ Docker Compose рдХреЗ рд╕рд╛рде PostgreSQL рдФрд░ pgAdmin 4 рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВ, рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдХреИрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рдФрд░ pgAdmin рдХреЗ Query Tool, рд╕реНрдХреАрдорд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдФрд░ рдмреИрдХрдЕрдк рдлреАрдЪрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред
рд╕рд╛рде рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдорд╢реАрди рдкрд░ Docker рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рд░рдирд┐рдВрдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк Docker Compose рдореЗрдВ рдирдП рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░рд╛ рдЧрд╛рдЗрдб рдкрдврд╝реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдорд▓реНрдЯреА-рдХрдВрдЯреЗрдирд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЛ рдХреИрд╕реЗ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИред
pgAdmin 4 рдХреНрдпрд╛ рд╣реИ?
pgAdmin 4 PostgreSQL рдХреЗ рд▓рд┐рдП рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕, рдмреНрд░рд╛рдЙрдЬрд╝рд░-рдЖрдзрд╛рд░рд┐рдд рдПрдбрдорд┐рди рдФрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИред рдЖрдк рдЗрд╕реЗ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВред рдпрд╣ рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬ рдХрд░рдиреЗ, рдХреНрд╡реЗрд░рд┐рдпрд╛рдБ рдЪрд▓рд╛рдиреЗ, рд╕реНрдХреАрдорд╛ рджреЗрдЦрдиреЗ, рдФрд░ рдмреИрдХрдЕрдк рд╣реИрдВрдбрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GUI рджреЗрддрд╛ рд╣реИтАФрд╡рд╣ рднреА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЫреБрдП рдмрд┐рдирд╛ред
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Docker рдЗрдореЗрдЬ
dpage/pgadmin4рд╣реИ, рдЬрд┐рд╕реЗ pgAdmin рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреАрдо рдореЗрдВрдЯреЗрди рдХрд░рддреА рд╣реИредDocker рдореЗрдВ pgAdmin 4 рдЪрд▓рд╛рдиреЗ рдХреЗ рдХреБрдЫ рдмрдбрд╝реЗ рдлрд╛рдпрджреЗ рд▓реЛрдХрд▓ рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ рд╣реИрдВред рдкрд╣рд▓рд╛ рд╣реИ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреАтАФрдЖрдкрдХрд╛ рдкреВрд░рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдПрдХ
docker-compose.ymlрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЯреАрдо рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреВрд╕рд░рд╛, рдХреЛрдИ рд╡рд░реНрдЬрд╝рди рдХреЙрдиреНрдлреНрд▓рд┐рдХреНрдЯ рдирд╣реАрдВтАФpgAdmin рдЕрдкрдиреЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ, рдЖрдкрдХреЗ рдорд╢реАрди рдХреА рдмрд╛рдХреА рдЪреАрдЬрд╝реЛрдВ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рдЖрдЗрд╕реЛрд▓реЗрдЯреЗрдбред рдФрд░ рдЬрдм рдХрд╛рдо рд╣реЛ рдЬрд╛рдП,docker compose downрд╕рдм рд╕рд╛рдл рдХрд░ рджреЗрддрд╛ рд╣реИредpgAdmin 4 рдмрдирд╛рдо рдЕрдиреНрдп PostgreSQL GUIs
рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ GUI рдЯреВрд▓реНрд╕ рдХреА рдХрдореА рдирд╣реАрдВ рд╣реИред рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВ рдХрд┐ pgAdmin 4 рджреЛ рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреИрд╕рд╛ рд╣реИред
pgAdmin 4 рдмрдирд╛рдо рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рдХрд▓реНрдк
DBeaver рдФрд░ TablePlus рдЕрдЪреНрдЫреЗ рдЯреВрд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреЛрдиреЛрдВ рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Docker рдЗрдореЗрдЬ рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдЖрдкрдХрд╛ PostgreSQL рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд╣рд▓реЗ рд╕реЗ Docker рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ pgAdmin 4 рдмреЗрд╣рддрд░реАрди рдлрд┐рдЯ рд╣реИтАФрдмрд╕ рдЖрдкрдХреЛ рдЕрдкрдиреЗ
docker-compose.ymlрдореЗрдВ рдПрдХ рд╕рд░реНрд╡рд┐рд╕ рдЬреЛрдбрд╝рдиреА рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рдПрдХ рд╣реА рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реИредDocker Compose рдХреЗ рд╕рд╛рде рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗрдЯ рдХрд░рдирд╛
PostgreSQL рдФрд░ pgAdmin 4 рдХреЛ рд╕рд╛рде рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рддрд░реАрдХрд╛ рдПрдХ рд╣реА
docker-compose.ymlрдлрд╝рд╛рдЗрд▓ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдирдП рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░рд╛ Docker Compose рдЧрд╛рдЗрдб рдЖрдзрд╛рд░рднреВрдд рдмрд╛рддреЗрдВ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ, рдореИрдВ pgAdmin-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░ рдзреНрдпрд╛рди рджреВрдБрдЧрд╛редрдпрд╣рд╛рдБ рдкреВрд░реА рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
depends_onрдлрд╝реАрд▓реНрдб Docker Compose рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐pgadminрд╕реЗ рдкрд╣рд▓реЗpostgresрдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдмрд┐рдирд╛, pgAdmin PostgreSQL рдХреЗ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╢реБрд░реВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ PostgreSQL рдХреЗ рдкреВрд░реА рддрд░рд╣ рд╣реЗрд▓реНрджреА рд╣реЛрдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╝рд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛тАФрд╕рд┐рд░реНрдл рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХрд╛ред рдлрд┐рд░ рднреА рдпрд╣ рдЬрд╝реНрдпрд╛рджрд╛рддрд░ рд░реЗрд╕ рдХрдВрдбреАрд╢рдиреНрд╕ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИредpgAdmin 4 environment variables
рджреЛ environment variables рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИрдВ:
PGADMIN_DEFAULT_EMAIL- рд╡рд╣ рдИрдореЗрд▓ рдкрддрд╛ рдЬрд┐рд╕рд╕реЗ рдЖрдк pgAdmin рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВрдЧреЗPGADMIN_DEFAULT_PASSWORD- рдЙрд╕ рдЦрд╛рддреЗ рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдбрддреАрд╕рд░рд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
PGADMIN_LISTEN_PORT- рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд╡рд╣ рдкреЛрд░реНрдЯ рдЬрд┐рд╕ рдкрд░ pgAdmin рд╕реБрдирддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ 80 рд╣реИ, рдкрд░ рдЗрд╕реЗ5050рдХрд░рдиреЗ рд╕реЗ рдкреЛрд░реНрдЯ рдореИрдкрд┐рдВрдЧ рд╕рд╛рдл рд░рд╣рддреА рд╣реИредрдпрд╣ рдХрд╣рд╛ рдЬрд╛рдП, рддреЛ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ Compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд░рдирд╛ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рд╡рд░реНрдЬрд╝рди рдХрдВрдЯреНрд░реЛрд▓ рдореЗрдВ рдЪрд▓реА рдЬрд╛рдПред рдЗрдиреНрд╣реЗрдВ
.envрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдБредрдЕрдкрдиреЗ
docker-compose.ymlрдХреЗ рд╕рдорд╛рди рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдПрдХ.envрдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:рдлрд┐рд░ рдЕрдкрдиреЗ Compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрди рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрд╛ рд░реЗрдлрд╝рд░реЗрдВрд╕ рджреЗрдВ:
рдЬрдм рдЖрдк рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ, Docker Compose
.envрдлрд╝рд╛рдЗрд▓ рдЙрдард╛ рд▓реЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВред рдмрд╕ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐.envрдХреЛ рдЕрдкрдиреЗ.gitignoreрдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдВ рдФрд░ рдЖрдкрдХреЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рд░реЗрдкреЛ рд╕реЗ рдмрд╛рд╣рд░ рд░рд╣реЗрдВрдЧреЗредрд╡реЙрд▓реНрдпреВрдореНрд╕ рдФрд░ рдбреЗрдЯрд╛ рдкрд░реНрд╕рд┐рд╕реНрдЯреЗрдВрд╕
/var/lib/pgadminрдкрд░ рдореИрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡реЙрд▓реНрдпреВрдо рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ pgAdmin рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рд╕реЗрд╢рди рдбреЗрдЯрд╛, рд╕реЗрд╡реНрдб рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рди, рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиред рдЗрд╕реЗ compose рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рд╣рд░ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдкрд░ рдпрд╣ рд╕рдм рдЦреЛ рдЬрд╛рдПрдЧрд╛редрдореМрдЬреВрджрд╛ compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдирд╛рдорд┐рдд рд╡реЙрд▓реНрдпреВрдо рд╣реИ рдЬрд┐рд╕реЗ Docker рдЖрдкрдХреЗ рд╣реЛрд╕реНрдЯ рдорд╢реАрди рдкрд░ рдореИрдиреЗрдЬ рдХрд░рддрд╛ рд╣реИред рдбреЗрдЯрд╛ рдХрдВрдЯреЗрдирд░ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ, рд░реА-рдХреНрд░рд┐рдПрд╢рди, рдФрд░ рдЗрдореЗрдЬ рдЕрдкрдбреЗрдЯ рдХреЗ рдмреАрдЪ рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИтАФрдЬрдм рддрдХ рдХрд┐ рдЖрдк рд╡реЙрд▓реНрдпреВрдо рдХреЛ
docker volume rmрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдбрд┐рд▓реАрдЯ рди рдХрд░ рджреЗрдВредрд╕реНрдЯреИрдХ рд╢реБрд░реВ рдХрд░рдирд╛ рдФрд░ pgAdmin 4 рддрдХ рдкрд╣реБрдБрдЪрдирд╛
рдЬрдм рдЖрдкрдХрд╛
docker-compose.ymlрддреИрдпрд╛рд░ рд╣реЛ, рддреЛ рд╕реНрдЯреИрдХ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:-dрдлреНрд▓реИрдЧ рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ detached рдореЛрдб рдореЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реИтАФрд╡реЗ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХрд╛ рдЯрд░реНрдорд┐рдирд▓ рдЦрд╛рд▓реА рд░рд╣рддрд╛ рд╣реИред рдпрд╣ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░ рд░рдирд┐рдВрдЧ рд╣реИрдВ:рдЖрдкрдХреЛ
postgresрдФрд░pgadminрджреЛрдиреЛрдВUpрд╕реНрдЯреЗрдЯрд╕ рдХреЗ рд╕рд╛рде рджрд┐рдЦрдиреЗ рдЪрд╛рд╣рд┐рдПредрдХрдВрдЯреЗрдирд░ рд╕реНрдЯреЗрдЯрд╕
рдпрджрд┐ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд▓рдЧреЗ, рддреЛ pgAdmin рд▓реЙрдЧреНрд╕ рджреЗрдЦреЗрдВ:
рд╣реЗрд▓реНрджреА рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреБрдЫ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
pgAdmin рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд▓реЙрдЧреНрд╕
рдпрджрд┐ рдпрд╣рд╛рдБ рддреНрд░реБрдЯрд┐ рджрд┐рдЦреЗ, рддреЛ рд╕рдВрднрд╡рддрдГ рдпреЗ рддреАрди рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛрдЧреА:
Password authentication failed: рдЖрдкрдХрд╛
PGADMIN_DEFAULT_PASSWORD.envрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЧрд╛рдпрдм рд╣реИ рдпрд╛ рдЧрд▓рдд рдмрдирд╛ рд╣реБрдЖ рд╣реИPort is already allocated: рдкреЛрд░реНрдЯ 5050 рдкрд░ рдХреБрдЫ рдФрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ; рдЕрдкрдиреЗ Compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реЛрд╕реНрдЯ рдкреЛрд░реНрдЯ рдмрджрд▓реЗрдВ
No such file or directory: рд╡реЙрд▓реНрдпреВрдо рдкрд╛рде рдЧрд▓рдд рд╣реИ рдпрд╛ рдХрдВрдЯреЗрдирд░ рдХреЛ рдЙрд╕ рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ
рдЬрдм рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░ рдЪрд▓ рд░рд╣реЗ рд╣реЛрдВ рдФрд░ рд▓реЙрдЧреНрд╕ рд╕рд╛рдл рджрд┐рдЦреЗрдВ, рддреЛ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ
http://localhost:5050рдЦреЛрд▓реЗрдВ:pgAdmin рд▓реЙрдЧрд┐рди рдкреЗрдЬ
PGADMIN_DEFAULT_EMAILрдФрд░PGADMIN_DEFAULT_PASSWORDрдореЗрдВ рд╕реЗрдЯ рдИрдореЗрд▓ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВред рдЖрдк pgAdmin рдбреИрд╢рдмреЛрд░реНрдб рдкрд░ рдкрд╣реБрдБрдЪреЗрдВрдЧреЗ, рдЬрд╣рд╛рдБ рдЖрдк рдЕрдкрдирд╛ PostgreSQL рд╕рд░реНрд╡рд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:pgAdmin рд╣реЛрдо рдкреЗрдЬ
pgAdmin 4 рдХреЛ рдЕрдкрдиреЗ PostgreSQL рдХрдВрдЯреЗрдирд░ рд╕реЗ рдЬреЛрдбрд╝рдирд╛
pgAdmin рдХреА рд╕рд╛рдЗрдбрдмрд╛рд░ рдореЗрдВ, Servers рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ - Register - Serverред рдПрдХ рдбрд╛рдпрд▓реЙрдЧ рдЦреБрд▓реЗрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рджреЛ рдЯреИрдм рднрд░рдиреЗ рд╣реИрдВ: General рдФрд░ Connectionред
General рдЯреИрдм
рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ рдЕрд░реНрдердкреВрд░реНрдг рдирд╛рдо рджреЗрдВтАФрдЬреИрд╕реЗ
local-dev-postgresред рдпрд╣ рд╕рд┐рд░реНрдл pgAdmin рдХреЗ рдЕрдВрджрд░ рдХрд╛ рд▓реЗрдмрд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реЗрдЯрдЕрдк рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреБрдЫ рднреА рдЪреБрдиреЗрдВредрд╕рд░реНрд╡рд░ рдкрдВрдЬреАрдХрд░рдг - General рдЯреИрдм
Connection рдЯреИрдм
рдпрд╣рд╛рдБ
localhostрдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред┬аDocker рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЕрдВрджрд░,
localhostрдХрдВрдЯреЗрдирд░ рд╕реНрд╡рдпрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИтАФрди рдХрд┐ рдЖрдкрдХрд╛ рд╣реЛрд╕реНрдЯ рдорд╢реАрди, рдФрд░ рди рд╣реА PostgreSQL рдХрдВрдЯреЗрдирд░ред Docker рдХрд╛ рдЕрдкрдирд╛ рдЖрдВрддрд░рд┐рдХ DNS рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЗdocker-compose.ymlрдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рд░реНрд╡рд┐рд╕ рдирд╛рдореЛрдВ рд╕реЗ рдХрдВрдЯреЗрдирд░ рдирд╛рдо рд░реЗрдЬрд╝реЙрд▓реНрд╡ рдХрд░рддрд╛ рд╣реИред рддреЛ рдпрджрд┐ рдЖрдкрдХреЗ PostgreSQL рд╕рд░реНрд╡рд┐рд╕ рдХрд╛ рдирд╛рдоpostgresрд╣реИ, рддреЛ рд╡рд╣реА рд╣реЛрд╕реНрдЯрдиреЗрдо рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВредрдлреАрд▓реНрдбреНрд╕ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рднрд░реЗрдВ:
Host name/address:
postgres(docker-compose.ymlрдХрд╛ рд╕рд░реНрд╡рд┐рд╕ рдирд╛рдо)Port:
5432Maintenance database: рдЖрдкрдХреЗ Compose рдлрд╝рд╛рдЗрд▓ рдХрд╛
POSTGRES_DBрдорд╛рди (рдЙрджрд╛.,mydb)Username:
POSTGRES_USERрдХрд╛ рдорд╛рди (рдЙрджрд╛.,admin)Password:
POSTGRES_PASSWORDрдХрд╛ рдорд╛рдиSave рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред┬а
рд╕рд░реНрд╡рд░ рдкрдВрдЬреАрдХрд░рдг - Connection рдЯреИрдм
рдпрджрд┐ рд╕рдм рд╕рд╣реА рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдбрдмрд╛рд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдФрд░ рдЖрдк рдЗрд╕реЗ рдПрдХреНрд╕рдкреИрдВрдб рдХрд░рдХреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рджреЗрдЦ рдкрд╛рдПрдБрдЧреЗ:
рд╕рдлрд▓ рд╕рд░реНрд╡рд░ рдкрдВрдЬреАрдХрд░рдг
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдХрдиреЗрдХреНрдЯ рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВред
Query Tool рдХрд╛ рдЙрдкрдпреЛрдЧ
рдЕрдм рдЬрдм рдЖрдк рдХрдиреЗрдХреНрдЯ рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ pgAdmin 4 рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ Postgres рдХреА рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЗрдВ рджрд┐рдЦрд╛рдКрдБрдЧрд╛ред
рдЯреЙрдк рдореЗрдиреВ рд╕реЗ Tools - Query Tool рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ Query Tool рдЦреЛрд▓реЗрдВред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рддреАрди рдкреИрдирд▓ рд╣реЛрддреЗ рд╣реИрдВ:
рдХреНрд╡реЗрд░реА рдЯреВрд▓
SQL рд▓рд┐рдЦрдирд╛ рдФрд░ рдЪрд▓рд╛рдирд╛
рдЖрдЗрдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг
ordersрдЯреЗрдмрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЖрдк рд╣рд░ рдмреНрд▓реЙрдХ рдХреЛ Play рдмрдЯрди рджрдмрд╛рдХрд░ рдпрд╛ F5 рд╢реЙрд░реНрдЯрдХрдЯ рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВредрдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЪрд▓рд╛рдПрдБ:
рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ:
рдФрд░ рдЕрдм рдбреЗрдЯрд╛ рдХреНрд╡реЗрд░реА рдХрд░реЗрдВ:
рдбреЗрдЯрд╛ рдХреНрд╡реЗрд░реА рдХрд░рдирд╛
рдкрд░рд┐рдгрд╛рдо Data Output рдкреИрдирд▓ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рдЖрдк рдХреЙрд▓рдореЛрдВ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдирдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЧреНрд░рд┐рдб рд╕реЗ рд╕реАрдзреЗ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд┐рдЬрд╝реБрдЕрд▓ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдкрдврд╝рдирд╛
рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрд╡реЗрд░реА рдЪрд▓рдиреЗ рдкрд░ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЕрдкрдиреЗ
SELECTрд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдкрд░EXPLAIN ANALYZEрдЪрд▓рд╛рдПрдБ:Explain Analyze рдкрд░рд┐рдгрд╛рдо
Data Output рдкреИрдирд▓ рд░реЙ рдЖрдЙрдЯрдкреБрдЯ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди pgAdmin рдХреЗ рдкрд╛рд╕ рдЗрд╕рд╕реЗ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдЯреВрд▓рдмрд╛рд░ рдореЗрдВ Explain рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВтАФрдФрд░ pgAdmin рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдХреЛ рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд░ рджреЗрддрд╛ рд╣реИред
рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди
рдЕрднреА рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреНрд╡реЗрд░реА рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЯреЗрдмрд▓ рдЬреЙрдЗрди рдХрд░ рд░рд╣реЗ рд╣реЛрдВ рдпрд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдПрдЧреНрд░реАрдЧреЗрд╢рди рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓реЗрдЧреАред
рдпрд╣ рдЗрд╕рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд░реЙ
EXPLAINрдЖрдЙрдЯрдкреБрдЯ рдкрдврд╝рдирд╛ рдзреАрдорд╛ рдФрд░ рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рдЬрд╝реБрдЕрд▓ рдкреНрд▓рд╛рди рд╕реЗ рд╕рд╛рдл рджрд┐рдЦ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ PostgreSQL рдХрд┐рд╕реА рдмрдбрд╝реЗ рдЯреЗрдмрд▓ рдкрд░ рдлреБрд▓ рдЯреЗрдмрд▓ рд╕реНрдХреИрди рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рдХреЛрдИ рдЗрдВрдбреЗрдХреНрд╕ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдкрд░ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛редрдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдХрд╛ рдкреНрд░рдмрдВрдзрди
pgAdmin рдХреА рд╕рд╛рдЗрдбрдмрд╛рд░ рдЖрдкрдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╛ рдкреВрд░рд╛ рджреГрд╢реНрдп рджреЗрддреА рд╣реИтАФрдФрд░ GUI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рджреЗрддреА рд╣реИред
рд╕рд╛рдЗрдбрдмрд╛рд░ рдЯреНрд░реА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЪрд▓рддрд╛ рд╣реИ: Servers - рдЖрдкрдХрд╛ рд╕рд░реНрд╡рд░ рдирд╛рдо - Databases - рдЖрдкрдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ - Schemas - public - Tablesред рдХрд┐рд╕реА рднреА рдЯреЗрдмрд▓ рдХреЛ рдПрдХреНрд╕рдкреИрдВрдб рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХреЛ рдЙрд╕рдХреА Columns, Indexes, рдФрд░ Constraints рдЪрд╛рдЗрд▓реНрдб рдиреЛрдбреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦреЗрдВрдЧреЗред рдХрд┐рд╕реА рдкрд░ рднреА рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рджрд╛рдПрдБ рдкреИрдирд▓ рдореЗрдВ рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВред
рдЯреЗрдмрд▓ рдмрдирд╛рдирд╛ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛
рдирдИ рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рд╕реНрдХреАрдорд╛ рдХреЗ рдЕрдВрддрд░реНрдЧрдд Tables рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ Create - Table рдЪреБрдиреЗрдВред рдПрдХ рдбрд╛рдпрд▓реЙрдЧ рдЦреБрд▓реЗрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдЯреИрдм рд╣реЛрдВрдЧреЗред
рдЯреЗрдмрд▓ рдмрдирд╛рдирд╛
General рдЯреИрдм рдореЗрдВ рдЖрдк рдЯреЗрдмрд▓ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдХреЙрд▓рдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП Columns рдЯреИрдм рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВтАФрд╣рд░ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЖрдк рдХреЙрд▓рдо рдирд╛рдо, рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк, рд▓рдВрдмрд╛рдИ, рдФрд░ nullable рд╣реЛрдирд╛/рди рд╣реЛрдирд╛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред Constraints рдЯреИрдм рдореЗрдВ рдкреНрд░рд╛рдЗрдорд░реА рдХреА, рдлрд╝реЙрд░реЗрди рдХреА, рдФрд░ рдпреВрдирд┐рдХ constraints рд╕реЗрдЯ рд╣реЛрддреЗ рд╣реИрдВред
рдореМрдЬреВрджрд╛ рдЯреЗрдмрд▓ рдореЗрдВ рдЗрдВрдбреЗрдХреНрд╕ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдЗрдбрдмрд╛рд░ рдореЗрдВ рдЯреЗрдмрд▓ рдХреЛ рдПрдХреНрд╕рдкреИрдВрдб рдХрд░реЗрдВ, Indexes рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░ Create - Index рдЪреБрдиреЗрдВред рдЗрдВрдбреЗрдХреНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдо рдЪреБрдиреЗрдВ рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рдЯрд╛рдЗрдк рдЪреБрдиреЗрдВтАФ
btreeрдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИредрдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдирд╛
рдмреИрдХрдЕрдк рдФрд░ рд░рд┐рд╕реНрдЯреЛрд░
рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП, Tools - Backup рдкрд░ рдЬрд╛рдПрдБред рдЖрдкрдХреЛ рдПрдХ рдлрд╝реЙрд░реНрдореИрдЯ рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛:
рдлрд╝реЙрд░реНрдореИрдЯ рдФрд░ рдбреЗрд╕реНрдЯрд┐рдиреЗрд╢рди рдкрд╛рде рдЪреБрдирдиреЗ рдХреЗ рдмрд╛рдж, pgAdmin рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ
pg_dumpрдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдЖрдкрдХреЗ рд▓реЛрдХрд▓ рдорд╢реАрди рдкрд░ рд╕реЗрд╡ рдХрд░ рджреЗрддрд╛ рд╣реИредрдмреИрдХрдЕрдк рдмрдирд╛рдирд╛
рд░рд┐рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Tools - Restore рдкрд░ рдЬрд╛рдПрдБ, рдЕрдкрдиреА рдмреИрдХрдЕрдк рдлрд╝рд╛рдЗрд▓ рдЪреБрдиреЗрдВ, рдФрд░ рдЙрд╕реЗ рд▓рдХреНрд╖рд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдкреЙрдЗрдВрдЯ рдХрд░реЗрдВред
рдмреИрдХрдЕрдк рд╕реЗ рд░рд┐рд╕реНрдЯреЛрд░ рдХрд░рдирд╛
рдпрджрд┐ рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ рдпрд╣ рдХреНрдпреЛрдВ рдЙрдкрдпреЛрдЧреА рд╣реИ, рддреЛ рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдХрд┐рд╕реА рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдмреИрдХрдЕрдк рд▓реЗрдВ, рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЪрд▓рд╛рдПрдБ, рдФрд░ рдпрджрд┐ рдХреБрдЫ рдЯреВрдЯреЗ, рддреЛ рдмреИрдХрдЕрдк рд░рд┐рд╕реНрдЯреЛрд░ рдХрд░рдХреЗ рдЬреНрдЮрд╛рдд рд╕реНрдерд┐рддрд┐ рдкрд░ рд▓реМрдЯ рдЖрдПрдБред
Docker рдореЗрдВ pgAdmin 4 рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдБ
pgAdmin 4 рдЪрд▓рд╛рдирд╛ рдПрдХ рдмрд╛рдд рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдП рд░рдЦрдирд╛ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд╛рддреЛрдВ рдХреЗ рдЬреНрдЮрд╛рди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдХреБрдЫ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕реБрдЭрд╛рд╡ рд╣реИрдВред
рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ Compose рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦреЗрдВ
рдпрджрд┐ рдЖрдкрдХреА
docker-compose.ymlрд╡рд░реНрдЬрд╝рди рдХрдВрдЯреНрд░реЛрд▓ рдореЗрдВ рдЪрд▓реА рдЬрд╛рддреА рд╣реИтАФрдЬреЛ рдЖрдорддреМрд░ рдкрд░ рд╣реЛрддрд╛ рд╣реИтАФрддреЛ рд╣рд╛рд░реНрдбрдХреЛрдбреЗрдб рдкрд╛рд╕рд╡рд░реНрдбреНрд╕ рднреА рд╕рд╛рде рдЪрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВред рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЗ рд▓рд┐рдП.envрдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЙрд╕реЗ.gitignoreрдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рдкреНрд░реЛрдбрдХреНрд╢рди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ, рдПрдХ рдХрджрдо рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдФрд░ Docker secrets рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдорд╛рдиреЛрдВ рдХреЛ environment variables рдХреЗ рдмрдЬрд╛рдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░рддреЗ рд╣реИрдВредpgAdmin рдкреЛрд░реНрдЯ рдХреЛ рдХрднреА рдкрдмреНрд▓рд┐рдХрд▓реА рдПрдХреНрд╕рдкреЛрдЬрд╝ рди рдХрд░реЗрдВ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, Docker рдкреЛрд░реНрдЯреНрд╕ рдХреЛ
0.0.0.0рд╕реЗ рдмрд╛рдБрдзрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХреЛрдИ рднреА рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕тАФрдкрдмреНрд▓рд┐рдХ рд╡рд╛рд▓реЗ рднреАред рдХрд┐рд╕реА рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рдкрд░, рдЗрд╕рд╕реЗ рдЖрдкрдХрд╛ pgAdmin рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдкрд╣реБрдБрдЪ рдпреЛрдЧреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп127.0.0.1рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрд╛рдБрдзреЗрдВ:рдЗрд╕рд╕реЗ pgAdmin рдХреЗрд╡рд▓ рд╕рд░реНрд╡рд░ рд╕реЗ рд╣реА рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗрдЧрд╛ред рд░рд┐рдореЛрдЯ рдПрдХреНрд╕реЗрд╕ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реЛ рддреЛ SSH рдЯрдирд▓ рдпрд╛ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЕрдкрдиреА рдЗрдореЗрдЬ рдЯреИрдЧреНрд╕ рдкрд┐рди рдХрд░реЗрдВ
dpage/pgadmin4:latestрдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдЕрдЧрд▓реА рдмрд╛рд░ рдХреЛрдИdocker compose pullрдЪрд▓рд╛рдПрдЧрд╛ рддреЛ рдирдпрд╛ рд╡рд░реНрдЬрд╝рди рдЦрд┐рдВрдЪ рд╕рдХрддрд╛ рд╣реИред рдирдпрд╛ рд╡рд░реНрдЬрд╝рди рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЖрдкрдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧ рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдмрджрд▓рд╛рд╡ рд▓рд╛ рд╕рдХрддрд╛ рд╣реИредdpage/pgadmin4:9.13рдЬреИрд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╣рд░ рдЯреАрдордореЗрдЯ рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рд╣реА рд╡рд░реНрдЬрд╝рди рдЪрд▓рд╛рдПредservers.jsonрд╕реЗ рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рдВрд╕ рдкреНрд░реАрд▓реЛрдб рдХрд░реЗрдВрдпрджрд┐ рдЖрдкрдХреА рдкреВрд░реА рдЯреАрдо рдПрдХ рд╣реА Compose рд╕реЗрдЯрдЕрдк рд╕рд╛рдЭрд╛ рдХрд░рддреА рд╣реИ, рддреЛ рд╕реНрдЯреИрдХ рд╕реНрдкрд┐рди-рдЕрдк рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рд░ рдХрд┐рд╕реА рдХреЛ PostgreSQL рд╕рд░реНрд╡рд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рди рдХрд░реЗрдВред pgAdmin рдПрдХ
servers.jsonрдлрд╝рд╛рдЗрд▓ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдХрдиреЗрдХреНрд╢рдВрд╕ рдХреЛ рдкреНрд░реА-рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИред рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВ:рдиреНрдпреВрдирддрдо
servers.jsonрдХреБрдЫ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:pgAdmin рд╕реНрдЯрд╛рд░реНрдЯ рд╣реЛрддреЗ рд╣реА рд╕рд░реНрд╡рд░ рджрд┐рдЦ рдЬрд╛рдПрдЧрд╛тАФрдХреЛрдИ рдореИрдиреБрдЕрд▓ рд╕реЗрдЯрдЕрдк рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдЖрдкрдХреЛ рд╢реБрд░реВ рд╕реЗ Docker рдореЗрдВ pgAdmin 4 рд╕реЗрдЯ рдХрд░рдирд╛ рд╕рд┐рдЦрд╛рдпрд╛ред рдЖрдкрдиреЗ рдПрдХ Docker Compose рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦреА рдЬреЛ PostgreSQL рдФрд░ pgAdmin 4 рдХреЛ рд╕рд╛рде рд▓рд╛рддреА рд╣реИ, Docker рдХреЗ рдЖрдВрддрд░рд┐рдХ DNS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛, рдФрд░ pgAdmin рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБтАФQuery Tool, рд╕реНрдХреАрдорд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдФрд░ рдмреИрдХрдЕрдк/рд░рд┐рд╕реНрдЯреЛрд░ рд╡рд░реНрдХрдлрд╝реНрд▓реЛтАФрдЙрдкрдпреЛрдЧ рдХреАрдВред
рдпрд╣рд╛рдБ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реИтАФreproducibilityред┬а
docker-compose.ymlрдлрд╝рд╛рдЗрд▓,servers.json, рдФрд░.envрдлрд╝рд╛рдЗрд▓тАФрдмрд╕ рдЗрддрдирд╛ рдХрд╛рдлреА рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдЯреАрдордореЗрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реБрдЖ рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рджреЗ рд╕рдХреЗрдВред рдЗрд╕рд╕реЗ тАЬрдпрд╣ рдореЗрд░реА рдорд╢реАрди рдкрд░ рддреЛ рдЪрд▓рддрд╛ рд╣реИтАЭ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛ рдлрд┐рд░ рдирд╣реАрдВ рдЖрдПрдЧреАредDocker рдФрд░ рдХрдВрдЯреЗрдирд░рд╛рдЗрдЬрд╝реЗрд╢рди рдкрд░ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ Intermediate Docker рдХреЛрд░реНрд╕ рджреЗрдЦреЗрдВред рдЗрд╕рдореЗрдВ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдбреНрд╕, рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ, рдФрд░ Compose рдкрд░ рдЧрд╣рди рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрд╕ рднрд░реЗ рд╣реБрдП рд╣реИрдВред