我有一个PostgreSQL数据库,我想配置为接受所有传入连接而不管源IP地址。如何在pg_hba.conf文件中配置?我正在使用postgreSQL版本8.4。
答案 0 :(得分:162)
只需使用0.0.0.0/0
。
host all all 0.0.0.0/0 md5
确保postgresql.conf
(或listen_addresses
)中的ALTER SYSTEM SET
允许所有可用IP接口上的传入连接。
listen_addresses = '*'
更改后,您必须重新加载配置。一种方法是以超级用户身份执行此SELECT
。
SELECT pg_reload_conf();
答案 1 :(得分:36)
0.0.0.0/0
::0/0
all
匹配任何IP地址
samehost
匹配任何服务器自己的IP地址
samenet
匹配服务器直接连接到的任何子网中的任何地址。
e.g。
host all all 0.0.0.0/0 md5
答案 2 :(得分:4)
除了上面的好答案之外,如果您想要授权某些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
答案 3 :(得分:0)
在centos上使用postgres 12配置所有文件:
步骤1:搜索和编辑文件
sudo vi /var/lib/pgsql/12/data/pg_hba.conf
按“ i”,然后在IPv4行更改
host all all 0.0.0.0/0 md5
步骤2:搜索和编辑文件postgresql.conf
sudo vi /var/lib/pgsql/12/data/postgresql.conf
添加最后一行:listen_addresses ='*' :wq! (保存存档) -步骤3:重新启动
systemctl restart postgresql-12.service
答案 4 :(得分:-4)
将此行添加到postgres文件夹的 pg_hba.conf
host all all all trust
"信任"允许所有用户无需任何密码即可连接。