php postgres连接字符串,使用具有多个节点的高可用性群集

问题描述

我已经使用pg_auto_failover设置了一个Postgresql HA集群。 我只需要将应用程序连接到主节点。 根据我在互联网上阅读的一篇文章,似乎可以使用 target_session_attrs = read-write 参数。

所以我尝试了以下方法

$conn = pg_connect("host=172.18.75.99,172.18.75.100 port=5432 dbname=test user=postgres password= target_session_attrs=read-write") or die("Could not connect");
$status = pg_connection_status($conn);
if ($status === PGsql_CONNECTION_OK) {
    print "Connection status ok\n";
}
else {
    print "Connection status bad\n";
}

但是,响应为:

Warning: pg_connect(): Unable to connect to Postgresql server: Could not translate host name "172.18.75.99,172.18.75.100" to address: UnkNown host in C:\xampp\htdocs\test\index.PHP on line 38
Could not connect

如果我尝试仅与一个节点建立连接,那么它会起作用:

$conn = pg_connect("host=172.18.75.99 port=5432 dbname=test user=postgres password= target_session_attrs=read-write") or die("Could not connect");
$status = pg_connection_status($conn);
if ($status === PGsql_CONNECTION_OK) {
    print "Connection status ok\n";
}
else {
    print "Connection status bad\n";
}

这将返回:

Connection status ok

不确定使用连接字符串中的两个节点如何使其工作。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)