Как настроить удаленное подключение к PostgreSQL
По умолчанию, сервер баз данных pgsql разрешает подключение только с локального компьютера. Данная инструкция показывает, как разрешить подключения с удаленных систем. Она написана на примере Linux CentOS и PostgreSQL 14.
Для начала посмотрим путь расположения конфигурационного файла postgresql.conf:
# su - postgres -c "psql -c 'SHOW config_file;'"
Команда выдаст, примерно, следующее:
-----------------------------------------
/db/pgsql/postgresql.conf
(1 row)
* нас интересует строчка /db/pgsql/postgresql.conf — это путь расположения нужного нам конфигурационного файла.
Теперь открываем на редактирование основной файл конфигурации PostgreSQL:
# vi /db/pgsql/postgresql.conf
* напоминаю, что начало пути /db/pgsql может быть другим. Мы его получили командой ps.
Находим и редактируем следующее:
listen_addresses = '*'
* по умолчанию, параметр закомментирован и настроен на прослушивание запросов только с локального сетевого интерфейса. В данном примере мы разрешили прослушивание запросов на всех IP-адресах (*), но, если требуется более безопасная настройка, можно просто перечислить последние через пробел.
После открываем на редактирование следующий конфигурационный файл:
# vi /db/pgsql/pg_hba.conf
и внизу добавляем следующую строку:
host all all 10.10.0.100/32 password
* в данном примере мы разрешаем удаленные подключения к серверу с компьютера 10.10.0.100. Доступ предоставляется всем учетным записям и всем базам (значение all). При желании, вместо all можно указать конкретные данные для повышения безопасности.
Чтобы изменения вступили в силу, перезапускаем службу postgresql:
# systemctl restart postgresql-14
Проверить подключение можно с удаленного компьютера следующей командой:
# psql -h 10.10.0.18 -U usersql
* где 10.10.0.18 — IP-адрес сервера баз данных; usersql — имя учетной записи, от которой идет подключение.
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.