pgAdmin 4 — графический интерфейс для PostgreSQL. В нем удобно подключиться к серверу, создать базу данных, открыть таблицы, выполнить SQL-запрос и посмотреть структуру объектов без постоянной работы в терминале. Но pgAdmin не заменяет сам PostgreSQL: сначала должен быть установлен и запущен сервер базы данных.

- Что нужно до запуска pgAdmin 4
- Установка pgAdmin 4
- Первый запуск и master password
- Как создать сервер в pgAdmin 4
- Что означают поля на вкладке Connection
- Как создать базу данных в pgAdmin 4
- Query Tool: первый SQL-запрос
- Как посмотреть таблицы и схему
- Частые ошибки подключения
- Удаленный сервер: что меняется в подключении
- Как создать отдельного пользователя для работы
- Мини-чек-лист первого подключения
- Что делать после создания базы
- Как не перепутать несколько серверов
- Как организовать работу в pgAdmin без хаоса
- Что читать дальше
- Часто задаваемые вопросы
- pgAdmin создает сервер PostgreSQL?
- Что вводить в Maintenance database?
- Почему база создана, но ее не видно?
Что нужно до запуска pgAdmin 4
Перед тем как подключиться к PostgreSQL через pgAdmin 4, проверьте три вещи: PostgreSQL установлен, служба сервера запущена, вы знаете пользователя и пароль. Для локальной установки чаще всего используются порт 5432, пользователь postgres и база обслуживания postgres.
Параметры локального подключения:
Host name/address: localhost
Port: 5432
Maintenance database: postgres
Username: postgres
Password: пароль пользователя postgres
На Linux состояние сервера можно проверить через systemd:
sudo systemctl status postgresql
sudo systemctl start postgresql
Если есть сомнения в пароле или порте, сначала проверьте подключение через psql. Это быстро отделяет проблему PostgreSQL от проблемы интерфейса pgAdmin.
psql -h localhost -p 5432 -U postgres -d postgres
Установка pgAdmin 4
На Windows pgAdmin 4 обычно ставится вместе с официальным установщиком PostgreSQL. После установки его можно найти в меню Пуск в папке PostgreSQL. Если pgAdmin не установлен, скачайте отдельный установщик с сайта pgadmin.org и поставьте его как обычное приложение.
На Ubuntu и Debian pgAdmin можно поставить из официального репозитория pgAdmin. Обычно выбирают один из двух вариантов: pgadmin4-desktop для локального приложения или pgadmin4-web для веб-режима.
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | \
sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] \
https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) \
pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list'
sudo apt update
sudo apt install pgadmin4-desktop
Если PostgreSQL запущен в Docker Compose, pgAdmin можно поднять отдельным сервисом. В таком сценарии в поле Host внутри pgAdmin часто указывают не localhost, а имя сервиса PostgreSQL, например postgres. На тему Docker лучше вынести отдельную внутреннюю ссылку на материал про PostgreSQL в Docker.
Первый запуск и master password
При первом запуске pgAdmin 4 попросит создать master password. Это пароль самого pgAdmin, а не пароль пользователя postgres. Он нужен для защиты сохраненных паролей подключений. Если вы сбросите master password, pgAdmin сохранит список серверов, но сохраненные пароли к ним придется вводить заново.
Частая ошибка новичка — вводить master password в поле подключения к PostgreSQL. Для подключения нужен пароль пользователя базы данных, который задавался при установке PostgreSQL или менялся через SQL-команду ALTER USER.
Как создать сервер в pgAdmin 4
В pgAdmin слово Server означает сохраненное подключение к экземпляру PostgreSQL. Это не создание нового PostgreSQL-сервера на компьютере, а регистрация подключения в интерфейсе.
- Откройте pgAdmin 4.
- В левой панели нажмите правой кнопкой на Servers.
- Выберите Register -> Server.
- На вкладке General задайте имя, например
Local PostgreSQL. - Перейдите на вкладку Connection и заполните параметры подключения.
- Нажмите Save.
Name: Local PostgreSQL
Host name/address: localhost
Port: 5432
Maintenance database: postgres
Username: postgres
Password: пароль пользователя postgres
Save password: включить, если это личная рабочая машина
Вкладку SSL обычно не трогают для локального подключения. Для удаленного сервера параметры SSL зависят от хостинга или администратора базы данных.
Что означают поля на вкладке Connection
Host name/address — адрес сервера PostgreSQL. Для локальной установки это localhost, для удаленного сервера — домен или IP, для Docker Compose из другого контейнера — имя сервиса. Port — порт PostgreSQL, обычно 5432. Maintenance database — база, к которой pgAdmin подключится при регистрации сервера; чаще всего указывают postgres. Username — пользователь PostgreSQL. Password — пароль этого пользователя, а не master password от pgAdmin.
Флажок Save password удобен на личной машине. На общем компьютере его лучше не включать. Если пароль не сохранен, pgAdmin будет спрашивать его при новом подключении, зато учетные данные не останутся в локальном хранилище pgAdmin.
Если вы не знаете, что писать в Maintenance database, начните с postgres. Если этой базы нет или доступ к ней закрыт, спросите у администратора имя служебной базы для подключения.
Как создать базу данных в pgAdmin 4
После подключения раскройте сервер в дереве слева. Затем нажмите правой кнопкой на Databases и выберите Create -> Database. В поле Database укажите имя базы, например shop. В поле Owner оставьте postgres или выберите отдельного пользователя, если вы уже настроили роли.
- Servers -> Local PostgreSQL -> Databases.
- Правый клик по Databases.
- Create -> Database.
- Database:
shop. - Owner:
postgresили рабочий пользователь. - Save.
SQL-эквивалент этой операции выглядит так:
CREATE DATABASE shop
OWNER postgres
ENCODING 'UTF8';
Если база появилась в дереве, но не раскрывается, нажмите правой кнопкой на сервер и выберите Refresh. Иногда интерфейс не обновляет дерево сразу после создания объекта.
Query Tool: первый SQL-запрос
Query Tool — встроенный редактор SQL-запросов. Его удобно использовать, когда действие быстрее выполнить командой, чем искать в интерфейсе. Откройте базу shop, затем выберите Tools -> Query Tool.
SELECT current_database(), current_user;
Кнопка Execute запускает запрос. В большинстве установок также работает клавиша F5. Результат появится в нижней панели. Если вы подключились не к той базе, Query Tool покажет это через current_database().
Как посмотреть таблицы и схему
В дереве объектов структура выглядит так:
Servers
└── Local PostgreSQL
└── Databases
└── shop
└── Schemas
└── public
├── Tables
├── Views
├── Materialized Views
├── Functions
└── Sequences
Если нужно просто увидеть таблицы, откройте Schemas -> public -> Tables. Если нужно разобрать колонки, ключи и индексы, лучше открыть отдельный урок по схемам и ER-диаграммам в pgAdmin.
Частые ошибки подключения
PostgreSQL не запущен. На Linux проверьте sudo systemctl status postgresql. На Windows откройте Services и найдите службу PostgreSQL. Если сервер не запущен, pgAdmin не сможет подключиться, даже если все поля заполнены правильно.
Неверный пароль. Master password от pgAdmin и пароль пользователя PostgreSQL — разные вещи. Если пароль пользователя postgres забыт, его меняют на стороне PostgreSQL, а не в настройках pgAdmin.
Неверный порт. Стандартный порт PostgreSQL — 5432, но при нескольких установках или Docker-сценариях порт может отличаться. Проверяйте порт в конфигурации сервера или в docker compose.
pg_hba.conf запрещает подключение. Для локального TCP-подключения обычно нужна строка, разрешающая подключения с 127.0.0.1/32. После изменения pg_hba.conf сервер нужно перезагрузить или перечитать конфигурацию.
Docker путают с localhost. Если pgAdmin и PostgreSQL работают в одной Docker Compose-сети, Host может быть именем сервиса, например postgres. Если pgAdmin стоит на хосте, а PostgreSQL проброшен наружу, обычно используют localhost и проброшенный порт.
Connection refused. Это обычно означает, что по указанному адресу и порту никто не отвечает. Проверьте, запущен ли PostgreSQL, правильно ли указан порт и не забыли ли вы пробросить порт из Docker-контейнера.
Password authentication failed. Сервер найден, но пользователь или пароль неверны. Проверьте раскладку клавиатуры, пользователя, базу обслуживания и способ аутентификации в pg_hba.conf.
Timeout expired. Часто связано с сетью: firewall, VPN, закрытый порт, неверный IP или сервер принимает подключения только из определенных подсетей.
Удаленный сервер: что меняется в подключении
Для удаленного PostgreSQL логика та же, но вместо localhost указывают IP-адрес или доменное имя сервера. Также нужно проверить, что PostgreSQL слушает внешний интерфейс, порт открыт в firewall, а pg_hba.conf разрешает подключение с вашего IP. Если сервер управляемый, например в облаке, параметры подключения обычно берут из панели провайдера.
Host name/address: db.example.com
Port: 5432
Maintenance database: postgres
Username: app_admin
Password: пароль пользователя app_admin
SSL mode: Require или Verify, если так требует хостинг
Не открывайте PostgreSQL наружу без ограничения по IP и без понятной политики паролей. pgAdmin удобен, но он не делает подключение безопасным сам по себе. Безопасность задается настройками PostgreSQL, сетевыми правилами и учетными записями.
Как создать отдельного пользователя для работы
Для учебного старта часто используют пользователя postgres, но в рабочей базе лучше создать отдельную роль. Так проще ограничить права и не работать каждый день под суперпользователем.
CREATE USER app_user WITH PASSWORD 'strong_password_here';
CREATE DATABASE shop OWNER app_user;
GRANT ALL PRIVILEGES ON DATABASE shop TO app_user;
После этого в pgAdmin можно зарегистрировать тот же сервер, но подключаться уже под app_user. Если пользователь должен создавать таблицы в схеме public, проверьте права на схему внутри базы.
\c shop
GRANT USAGE, CREATE ON SCHEMA public TO app_user;
Мини-чек-лист первого подключения
- PostgreSQL установлен и запущен.
- Вы знаете порт, обычно
5432. - Вы знаете имя пользователя и пароль PostgreSQL.
- В pgAdmin создан master password.
- В Register Server указаны правильные Host, Port, Maintenance database и Username.
- Если подключение удаленное, firewall и
pg_hba.confразрешают доступ. - Проверочный запрос
SELECT current_database(), current_user;возвращает ожидаемую базу и пользователя.
Что делать после создания базы
После создания базы не спешите сразу строить сложную структуру. Сначала проверьте, что Query Tool открыт именно в новой базе, создайте одну тестовую таблицу и вставьте одну строку. Это быстрый способ понять, что права, схема и подключение настроены правильно.
CREATE TABLE connection_check (
id SERIAL PRIMARY KEY,
note TEXT NOT NULL,
created_at TIMESTAMP DEFAULT now()
);
INSERT INTO connection_check (note)
VALUES ('pgAdmin подключен к нужной базе');
SELECT *
FROM connection_check;
Если этот пример работает, можно переходить к созданию нормальных таблиц, пользователей, индексов и резервного копирования. Если не работает, ошибка почти всегда связана с правами на схему, неверной базой в Query Tool или подключением не под тем пользователем.
Как не перепутать несколько серверов
В pgAdmin можно зарегистрировать несколько серверов: локальный, тестовый, staging, production. Названия должны быть такими, чтобы ошибиться было сложно. Не называйте все подключения одинаково вроде PostgreSQL. Лучше использовать понятные имена: Local PostgreSQL 17, Shop staging, Shop production read-only.
Перед выполнением команд CREATE, UPDATE, DELETE и DROP всегда проверяйте, к какой базе открыт Query Tool. Самый быстрый способ — выполнить контрольный запрос:
SELECT
inet_server_addr() AS server_ip,
inet_server_port() AS server_port,
current_database() AS database_name,
current_user AS user_name;
Этот запрос особенно полезен, если у вас открыто несколько вкладок Query Tool. Он снижает риск выполнить команду не на том сервере.
Как организовать работу в pgAdmin без хаоса
pgAdmin быстро превращается в свалку подключений, если не договориться о правилах. Для локального обучения это не критично, но для рабочей базы лучше сразу навести порядок. Называйте серверы по окружениям, не сохраняйте лишние пароли, удаляйте старые подключения и не держите открытыми вкладки Query Tool, если уже закончили работу.
Для production-подключения полезно создать пользователя только для чтения. Тогда даже при ошибке в Query Tool нельзя будет случайно изменить данные. Для административных действий используйте отдельное подключение и открывайте его только тогда, когда оно действительно нужно.
CREATE USER readonly_user WITH PASSWORD 'readonly_password';
GRANT CONNECT ON DATABASE shop TO readonly_user;
GRANT USAGE ON SCHEMA public TO readonly_user;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly_user;
Такой подход особенно полезен, если pgAdmin используют несколько человек: аналитик смотрит данные под read-only пользователем, разработчик работает на тестовой базе, администратор выполняет изменения через отдельную роль.
Что читать дальше
Связанные материалы из базы:
Помощник подключения pgAdmin — соберите host, port, psql-команду и строку подключения.
Как создать базу данных в PostgreSQL — база, схемы и размер БД.
psql команды — консольная диагностика и быстрые команды.
PostgreSQL в Docker — запуск PostgreSQL и pgAdmin через Docker Compose.
Пароль PostgreSQL — смена и сброс пароля пользователя.
Часто задаваемые вопросы
pgAdmin создает сервер PostgreSQL?
Нет. В pgAdmin создание Server означает сохранение подключения. Сам PostgreSQL должен быть установлен и запущен отдельно: локально, на удаленном сервере или в Docker.
Что вводить в Maintenance database?
Для первого подключения обычно указывают postgres. Это служебная база, которая есть почти в каждой установке PostgreSQL и подходит для регистрации сервера в pgAdmin.
Почему база создана, но ее не видно?
Обновите дерево объектов через Refresh. Если база все равно не видна, проверьте, к тому ли серверу вы подключены и есть ли у пользователя права видеть созданную базу.



