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

我有一个 PostgreSQL 数据库,我想配置它来接受所有传入的连接,而不管源 IP 地址是什么。如何在 pg _ hba 中配置它。配置文件?我使用的是 postgreSQL 8.4版。

237351 次浏览

0.0.0.0/0

host    all             all             0.0.0.0/0            md5

确保 postgresql.conf(或 ALTER SYSTEM SET)中的 listen_addresses允许在所有可用 IP 接口上的传入连接。

listen_addresses = '*'

更改之后,必须重新加载配置。一种方法是作为超级用户执行这个 SELECT

SELECT pg_reload_conf();

注意: 要更改 listen_addresses,重新加载是不够的,您必须重新启动服务器。

所有 IPv4地址的 0.0.0.0/0

所有 IPv6地址的 ::0/0

all匹配任何 IP 地址

samehost匹配服务器自己的任何 IP 地址

samenet匹配服务器直接连接到的任何子网中的任何地址。

例如:。

host    all             all             0.0.0.0/0            md5

将此行添加到 postgres 文件夹的 Pg _ hba. conf

host    all    all    all    trust

“信任”允许所有用户在没有任何密码的情况下进行连接。

除了以上伟大的答案,如果你想要一些范围的 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

配置所有文件的 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: 搜索和编辑文件 postgreql.conf

Sudo vi/var/lib/pgsql/12/data/postgreql.conf

Add last line: listen _ address =’*’添加最后一行: : wq! (保存文件)

步骤3: 重新启动

Systemctl 重新启动 postgreql-12. service

转到这个位置(/etc/postgreql/12/main)的 pg _ hba. conf 文件,并在末尾添加以下代码行:

host  all  all 0.0.0.0/0 md5

它允许所有用户访问所有数据库。

通过编写以下命令重新启动 Postgreql

service postgresql restart

要了解更多信息,请查看 错误资料