我正在尝试将 pgpool 配置为在两台服务器之间使用负载平衡(都运行 Debian 8.2 和 Postgresql 9.4)。我已经在两者之间进行了流式复制(153 中的主服务器和 155 中的从服务器)。现在我安装了 PgPool 并配置了两台服务器:
backend_hostname0 = '10.0.0.153'
backend_port0 = 5432
backend_weight0 = 1
backend_data_directory0 = '/var/lib/postgresq/9.4/main'
backend_hostname1 = '10.0.0.155'
backend_port1 = 5432
backend_weight1 = 1
backend_data_directory1 = '/var/lib/postgresq/9.4/main'
并配置pool_hba,pool_passwd,load_balance_mode为on。我的问题是:当我尝试通过 pgpool 使用 psql 时,它显示错误:“psql: FATAL: password authentication failed for user 'postgres'”
但是,如果我评论 backend1 的所有部分,不再更改,然后重新启动 pgpool2 服务,我可以在同一台机器上使用完全相同的用户和密码毫无问题地连接。我不知道是否应该设置另一个参数以使用两台服务器并在它们之间进行负载平衡。
我可以使用 psql 从每个客户端连接到每个后端服务器就好了,所以凭据不应该是问题。
PS:不知道有没有帮助。但是在 pgpool.conf 中,replication_mode 是关闭的,因为我使用的是 Streaming Replication,据我所知,可以使用 load_balance 而不通过 pgpool 进行复制。
谢谢。