如何从 php 脚本向 Pgpool2 服务器发送请求?

如何从 php 脚本向 Pgpool2 服务器发送请求?

实际上我正在尝试使用 pgpool2 和 docker 容器创建一个 postgres 复制系统,我创建了 2 个运行 postgres 的容器和另一个用于 pgpool2 的容器,所以当我尝试通过 php 脚本连接到 pgpool2 服务器时,出现以下错误:

pg_connect(): 无法连接到 PostgreSQL 服务器: 无法连接到服务器: 连接被拒绝

答案1

我没有与码头工人之前…但是…

在大多数默认配置中,postgresql 不允许非本地连接。为了允许远程连接,您需要在 pg_hba.conf 文件中添加“主机”行。

通常该文件位于类似以下位置的位置:

/etc/postgresql/9.6/main/pg_hba.conf

像这样的东西:

#TYPE   DATABASE     USER         ADDRESS      AUTH METHOD
host    database1    user1     192.168.1.0/24      md5

然后通过 /etc/init.d/postgresql restart 或任何适合您操作系统的方式重新启动您的 postgresql 集群。

您应该能够通过以下方式查看远程主机上的开放端口:

netstat -l

如果你做得正确,地址应该从 'localhost' 更改为 0.0.0.0 。

您还需要添加“user1”作为带有密码的 postgresql 用户,并为该用户创建一个数据库来玩。

这可以通过以下方式成为 postgresql 超级用户来完成:

sudo -s
#su postgres
postgres@host$ createuser user1 -P
     enter in a password
postgres@host$ createdb database1 -O user1

然后您应该能够通过以下本地命令连接到远程 postgresql 集群:

psql -h remote.host.address -U user1 -d database1

当然,所有IP地址仅是示例性的。进行适当的更改。

相关内容