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

Fer*_*gal 95 postgresql

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

Fra*_*ens 189

只是用0.0.0.0/0.

host    all             all             0.0.0.0/0            md5
Run Code Online (Sandbox Code Playgroud)

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

listen_addresses = '*'
Run Code Online (Sandbox Code Playgroud)

更改后,您必须重新加载配置.一种方法SELECT是以超级用户身份执行此操作.

SELECT pg_reload_conf();
Run Code Online (Sandbox Code Playgroud)

  • **注意**:如果你的网络是IPv6,你需要在修改pg_hba.conf文件时使用`::/0`而不是`0.0.0.0/0`. (6认同)
  • "trust"允许所有用户无需任何密码即可连接.这是我不会使用的东西,密码是您应该始终使用的最低限度.甚至在你自己的电脑上. (4认同)
  • 确保`postgres`有强密码:`sudo -u postgres psql`,`\ password`. (2认同)

Owe*_*ing 39

0.0.0.0/0 对于所有IPv4地址

::0/0 对于所有IPv6地址

all 匹配任何IP地址

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

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

例如

host    all             all             0.0.0.0/0            md5
Run Code Online (Sandbox Code Playgroud)


小智 9

在 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
Run Code Online (Sandbox Code Playgroud)

步骤2:搜索并编辑文件postgresql.conf

sudo vi /var/lib/pgsql/12/data/postgresql.conf

添加最后一行:listen_addresses = '*' :wq! (保存存档)

第3步: 重新启动

systemctl 重新启动 postgresql-12.service


vvs*_*s14 6

除了上面的好答案之外,如果您想要授权一定范围的 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