数据库服务器上的 pgpool 设置

pgpool Setup on Database Server

我有三台服务器。一个是运行 pgpool,另外两个是主从模式的流复制。安装 pgpool 时,我被建议在我的数据库服务器上也安装 pgpool_regclass。在主节点上安装没有问题,但是当我尝试在从节点上执行相同操作时,出现错误 ERROR: cannot execute CREATE EXTENSION in a read-only transaction.

我觉得是因为slave是双机热备,而且SELECT pg_is_in_recovery(); returns没错。所以我想知道我是否应该在从机上安装 pgpool_regclass 。似乎不是,但是 pgpool 文档说我应该在 pgpool 将要访问的每个数据库上安装它。

我找到了原因。删除从库中的recovery.conf文件,然后运行pgpool_regclass。否则slave处于recovery模式,无法执行写命令。