【发布时间】:2017-06-26 12:53:25
【问题描述】:
我在主/从设置中运行两个数据库 (PostgreSQL 9.5.7)。我的应用程序正在连接到一个 pgpool 实例,该实例路由到主数据库(以及用于只读查询的从属数据库)。
现在我正在尝试将一些数据扩展到另一个只包含几个表的只读数据库实例。 直接在主数据库上使用 pglogical 可以完美地工作。
但是如果主节点由于某种原因转换为从节点,pglogical 将无法再复制,因为节点处于备用状态。
尝试了以下方法:
- 订阅了从属节点,因为它不太可能出现故障或过热:无法在备用节点上复制。
- 通过 pgpool 服务器订阅: pgpool 不接受复制连接。
- 订阅了两台服务器: pglogical 配置被复制,所以不能给他们不同的节点名称。
我现在唯一能想到的就是编写我自己的 tcp 代理,它会定期检查我可以订阅的服务器的状态。
还有其他/更简单的方法可以解决这个问题吗? 也许我使用了错误的工具?
【问题讨论】:
-
你用的是什么版本的PostgreSQL?
-
我使用的是 PostgreSQL 9.5.7。
-
您不是第一个遇到此问题的人...您可能会发现这很有帮助:github.com/2ndQuadrant/pglogical/issues/83
-
谢谢。我想我可以假设,基于 github 线程,除了等待 PostgreSQL 10 或使用路由规则之外没有解决方案?
标签: postgresql database-replication database-administration pgpool