我有一个PostgreSQL数据库,我想配置它接受所有来自任何源IP地址的连接。如何在pg_hba.conf文件中进行配置?我正在使用PostgreSQL 8.4版本。
直接使用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();
注意:要更改listen_addresses
,仅重新加载不足够,您必须重新启动服务器。
0.0.0.0/0
表示所有IPv4地址
::0/0
表示所有IPv6地址
all
可以匹配任何IP地址
samehost
可以匹配服务器自己的任何IP地址
samenet
可以匹配服务器直接连接到的任何子网中的任何地址。
例如:
host all all 0.0.0.0/0 md5
/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
在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
前往此位置的pg_hba.conf文件(/etc/postgresql/12/main),并在末尾添加以下行:
host all all 0.0.0.0/0 md5
它允许所有用户访问所有数据库。
通过输入此命令重启Postgresql
service postgresql restart
请查看错误详情获取更多信息。
host all all all trust
“信任”允许所有用户无需密码连接。
::/0
而不是0.0.0.0/0
。 - Aron Boyettepostgres
有强密码:sudo -u postgres psql
,\password
。 - Adobe