我有一个 PostgreSQL 数据库,我想配置它来接受所有传入的连接,而不管源 IP 地址是什么。如何在 pg _ hba 中配置它。配置文件?我使用的是 postgreSQL 8.4版。
用 0.0.0.0/0。
0.0.0.0/0
host all all 0.0.0.0/0 md5
确保 postgresql.conf(或 ALTER SYSTEM SET)中的 listen_addresses允许在所有可用 IP 接口上的传入连接。
postgresql.conf
ALTER SYSTEM SET
listen_addresses
listen_addresses = '*'
更改之后,必须重新加载配置。一种方法是作为超级用户执行这个 SELECT。
SELECT
SELECT pg_reload_conf();
注意: 要更改 listen_addresses,重新加载是不够的,您必须重新启动服务器。
所有 IPv4地址的 0.0.0.0/0
所有 IPv6地址的 ::0/0
::0/0
all匹配任何 IP 地址
all
samehost匹配服务器自己的任何 IP 地址
samehost
samenet匹配服务器直接连接到的任何子网中的任何地址。
samenet
例如:。
将此行添加到 postgres 文件夹的 Pg _ hba. conf
host all all all trust
“信任”允许所有用户在没有任何密码的情况下进行连接。
除了以上伟大的答案,如果你想要一些范围的 IP 被授权,你可以编辑 /var/lib/pgsql/{VERSION}/data文件,并把类似
/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行更改
步骤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 文件,并在末尾添加以下代码行:
它允许所有用户访问所有数据库。
通过编写以下命令重新启动 Postgreql
service postgresql restart
要了解更多信息,请查看 错误资料