====== Как настроить удаленное подключение к PostgreSQL ======
По умолчанию, сервер баз данных pgsql разрешает подключение только с локального компьютера. Данная инструкция показывает, как разрешить подключения с удаленных систем. Она написана на примере [[:terminus|Linux]] [[:terminus|CentOS]] и PostgreSQL 9.5.
Для начала посмотрим путь расположения конфигурационного файла **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 192.168.0.10/32 password
* в данном примере мы разрешаем удаленные подключения к серверу с компьютера **192.168.0.10**. Доступ предоставляется всем учетным записям и всем базам (значение **all**). При желании, вместо all можно указать конкретные данные для повышения безопасности.
Чтобы изменения вступили в силу, перезапускаем службу postgresql:
# systemctl restart postgresql-9.5
Проверить подключение можно с удаленного компьютера следующей командой:
# psql -h 192.168.0.15 -U usersql
* где **192.168.0.15** — IP-адрес сервера баз данных; **usersql** — имя учетной записи, от которой идет подключение.