如何配置PostgreSQL以接受所有传入连接

时间:2010-07-19 03:59:58

标签: postgresql

我有一个PostgreSQL数据库,我想配置为接受所有传入连接而不管源IP地址。如何在pg_hba.conf文件中配置?我正在使用postgreSQL版本8.4。

5 个答案:

答案 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)

所有IPv4地址

0.0.0.0/0

所有IPv6地址

::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

"信任"允许所有用户无需任何密码即可连接。