Ответ 1
Сначала отредактируйте файл postgresql.conf и установите listen_addresses. Значение по умолчанию "localhost" будет прослушиваться только на адаптере loopback. Вы можете изменить его на "*", что означает прослушивание по всем адресам или, в частности, список IP-адресов интерфейсов, с которых вы хотите принимать соединения. Обратите внимание, что это IP-адрес, который ему присвоил интерфейс, который вы можете увидеть с помощью команд ifconfig
или ip addr
.
Вы должны перезапустить postgresql, чтобы изменения в listen_addresses вступили в силу.
Далее, в pg_hba.conf, вам понадобится запись вроде этого:
# TYPE DATABASE USER ADDRESS METHOD
host {dbname} {user} 192.168.1.0/24 md5
{dbname} - это имя базы данных, к которому вы разрешаете доступ. Вы можете поставить "все" для всех баз данных.
{user} - пользователь, которому разрешено подключаться. Обратите внимание, что это пользователь postgresql, не обязательно пользователь unix.
Часть ADDRESS - это сетевой адрес и маска, которые вы хотите разрешить. Указанная маска будет работать по 192.168.1.x по вашему запросу.
Часть метода METHOD - это метод аутентификации. Там есть несколько вариантов. md5 означает, что он будет использовать пароль хеширования md5. "доверие", которое у вас было в вашем примере, означает отсутствие аутентификации вообще - это определенно не рекомендуется.
Изменения в pg_hba.conf вступят в силу после перезагрузки сервера. Вы можете использовать это с помощью pg_ctl reload
(или с помощью сценариев инициализации, в зависимости от вашего дистрибутива ОС).