Настройка удаленного подключения к PostgreSQL

  • Михаил
  • 10 мин. на прочтение
  • 344
  • 25 Jan 2023
  • 25 Jan 2023

По умолчанию, сервер баз данных pgsql разрешает подключение только с локального компьютера. Данная инструкция показывает, как разрешить подключения с удаленных систем. Она написана на примере AstraLinux “Орел” и PostgreSQL 15.

Для начала посмотрим путь расположения конфигурационного файла postgresql.conf:

sudo -u postgres psql postgres

Заходим в командную строку postgres, вводим:

SHOW config_file;

Команда выдаст следующее:

* нас интересует строчка /var/lib/pgpro/1c-15/data/postgresql.conf — это путь расположения нужного нам конфигурационного файла.

Теперь открываем на редактирование основной файл конфигурации PostgreSQL:

sudo vi /var/lib/pgpro/1c-15/data/postgresql.conf

Находим и редактируем следующее:

listen_addresses = '*'

* по умолчанию, параметр закомментирован и настроен на прослушивание запросов только с локального сетевого интерфейса. В данном примере мы разрешили прослушивание запросов на всех IP-адресах (*), но, если требуется более безопасная настройка, можно просто перечислить последние через пробел.

После открываем на редактирование следующий конфигурационный файл:

sudo vi /var/lib/pgpro/1c-15/data/pg_hba.conf

и внизу добавляем следующую строку:

host     all     all     10.10.11.180/32     password

* в данном примере мы разрешаем удаленные подключения к серверу с компьютера 192.168.0.10. Доступ предоставляется всем учетным записям и всем базам (значение all). При желании, вместо all можно указать конкретные данные для повышения безопасности.

Чтобы изменения вступили в силу, перезапускаем службу postgresql:

sudo /opt/pgpro/std-15/bin/pg-setup service stop
sudo /opt/pgpro/std-15/bin/pg-setup service start
sudo /opt/pgpro/std-15/bin/pg-setup service status

Проверить подключение можно с удаленного компьютера следующей командой:

sudo psql -h 10.10.11.20 -U postgres

* где  10.10.11.20 — IP-адрес сервера баз данных; postgres — имя учетной записи, от которой идет подключение.