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

Материал из Rosalab Wiki
Перейти к: навигация, поиск

Чтобы узнать, где находится конфигурационный файл выполняем:

   # su - postgres -c "psql -c 'SHOW config_file;'"
   или
   $ ps aux | grep postgres | grep -- -D  


В росе 2021.1 такой путь

   /var/lib/pgsql/data/postgresql.conf

В убунте 18

   /etc/postgresql/10/main/postgresql.conf


Переходим в каталог

   # cd /var/lib/pgsql/data/


Открываем конфигурационный файл

   # vim postgresql.conf


Вносим изменение в строку listen_addresses (стр. ~59):

Вместо localhost ставим *:

   listen_addresses = '*'
   > по умолчанию, параметр закомментирован и настроен на прослушивание запросов только с локального сетевого интерфейса. В данном примере мы разрешили прослушивание запросов на всех IP-адресах (*), но, если требуется более безопасная настройка, можно просто перечислить последние через пробел.  
   >Возможные варианты:  
   >listen_addresses = '0.0.0.0' чтобы слушать все IPv4;  
   >listen_addresses = '::' чтобы слушать все IPv6;  
   >listen_addresses = 'your.host.ip.adress' определенный адрес или список адресов через запятую.  


Далее необходимо выполнить настройку файла pg_hba.conf, который расположен в той же директории.

   # vim pg_hba.conf


В конец файла добавим строку:

   host    name_database   username    ip/32   md5

Сия запись разрешает подключение к БД name_database пользователю username с указанным IP адресом используя пароль.


После нужно перезагрузить сервер PostgreSQL:

   # service postgresql restart


Пробуем подключиться:

   $ psql -U username -d name-database --host remote-ip