У меня есть база данных PostgreSQL, которую я бы хотел настроить, чтобы принимать все входящие соединения независимо от исходного IP-адреса. Как это можно настроить в файле pg_hba.conf? Я использую postgreSQL версии 8.4.
Как настроить PostgreSQL для приема всех входящих соединений
Ответ 1
Просто используйте 0.0.0.0/0
.
host all all 0.0.0.0/0 md5
Убедитесь, что listen_addresses
в postgresql.conf
(или ALTER SYSTEM SET
) разрешает входящие соединения на всех доступных IP-интерфейсах.
listen_addresses = '*'
После внесения изменений необходимо перезагрузить конфигурацию. Один из способов сделать это - выполнить это SELECT
в качестве суперпользователя.
SELECT pg_reload_conf();
Ответ 2
0.0.0.0/0
для всех адресов IPv4
::0/0
для всех адресов IPv6
all
для соответствия любому IP-адресу
samehost
для соответствия любому собственному IP-адресу сервера
samenet
, чтобы соответствовать любому адресу в любой подсети, к которой непосредственно подключен сервер.
например.
host all all 0.0.0.0/0 md5
Ответ 3
Дополняясь к отличным ответам, если вы хотите, чтобы какой-либо диапазон IP-адресов был разрешен, вы можете отредактировать файл /var/lib/pgsql/{VERSION}/data
и поместить что-то вроде
host all all 172.0.0.0/8 trust
Он будет принимать входящие соединения с любого хоста вышеуказанного диапазона. Источник: http://www.linuxtopia.org/online_books/database_guides/Practical_PostgreSQL_database/c15679_002.htm
Ответ 4
Добавьте эту строку в pg_hba.conf папки postgres
host all all all trust
"доверие" позволяет всем пользователям подключаться без пароля.