聚类的postgresql群集



这将使某些人的术语选择不佳,这会使某些人感到困惑,但是请忍受我...

我们有必要能够支持多个PostgreSQL(PG(群集,并将它们聚集在多个服务器上,例如repmgr。例如,为每个PG群集支持服务器可用性和PITR。在许多情况下,每台服务器的一个PG群集过于昂贵,因此我们在单独的PG群集上多租户(小(客户,用于数据分离,恢复等,但也希望能够通过复制/失败 - 结束。

PG群集的最接近类比是SQL Server实例 - 每个都可以托管多个DB,具有自己的端口等。每个复制。

基本的repmgr设置没有问题 - 在单个PG群集模型中似乎很清楚。但是,是否有使用REPMGR的多个PG簇的建议/支持方法?我可以想象伪造的repmgr认为每个PG群集实际上都是一个单独的repmgr群集(带有单独的repmgr.conf,连接信息/端口(。但是,我还不确定会起作用。

我通常期望在同一服务器上失败所有PG群集 - 一次不是一个。

我认识到这在所有情况下可能并不是最好的主意,但是主要是在探索可能的事情。我有一些替代方案,但这最接近我们当前的单节点模型。

要澄清,我需要在许多服务器群集中为数千个客户提供支持。理想情况下,每个集群使用相同的repmgr db(在主PG群集中,例如(,并且本质上是单独的。

谢谢...

回答我自己的问题,但我希望有人最终会发布一个更好的答案,因为我很喜欢repmgr。最后,看来REPMGR不适合多个PG簇(实例(,因为RepMgr群集连接字符串与PG群集(端口(之间存在隐含的关系。因此,您本质上必须为每个聚类的PG群集/实例创建一个单独的REPMGR环境(DB(,从而丢失了Repmgr带入表中的许多操作简单性。

我将使用corosync/pacemaker/等。至少在这种情况下,虚拟群集IP处理是内置的,并且不需要其他软件/资源即可完成,。

我敢肯定我可能会过度简单化的事情,但是如果Repmgr允许Repmgr db完全独立于PG群集并允许每个repmgr群集,那么Repmgr似乎很接近解决问题。要指定自己的连接信息,而不是(仅(Repmgr db本身的连接信息。

最新更新