gpt4 book ai didi

postgresql - 集群 PostgreSQL 集群

转载 作者:行者123 更新时间:2023-11-29 12:17:39 28 4
gpt4 key购买 nike

由于 PostgreSQL 人员选择的术语不当,这会让一些人感到困惑,但请耐心等待...

我们需要能够支持多个 PostgreSQL (PG) 集群,并将它们集群在多个服务器上,例如使用repmgr.例如,支持每个 PG 集群的服务器可用性和 PITR。在许多情况下,每台服务器一个 PG 集群过于昂贵,因此我们在单独的 PG 集群上的 Multi-Tenancy (小型)客户,用于数据分离、恢复等,但也希望能够通过复制/故障支持 HA-结束了。

PG 集群最接近的类比是 SQL Server 实例 - 每个实例都可以托管多个数据库,有自己的端口等。像 SQL Server 一样,您可以在同一台服务器上运行多个实例(PG 集群),并设置复制每个。

基本的 repmgr 设置没有问题——这在单 PG 集群模型中看起来相当清楚。但是,对于使用 repmgr 的多个 PG 集群,是否有任何推荐/支持的方法?我可以想象假装 repmgr 认为每个 PG 集群实际上是一个单独的 repmgr 集群(具有单独的 repmgr.conf、连接信息/端口)。但是,我还不确定这是否有效。

我通常希望对同一台服务器上的所有 PG 集群进行故障转移——而不是一次一个。

我知道这可能不是在所有情况下都是最好的主意,但我主要是在探索什么是可能的。我有一些替代方案,但这是最接近我们当前的单节点模型的。

澄清一下,我需要支持许多服务器集群中的数千名客户。理想情况下,每个集群都使用相同的 repmgr 数据库(例如,在主 PG 集群中),并且基本上独立于其他服务器集群。

谢谢...

最佳答案

回答我自己的问题,但我希望有人最终会发布更好的答案,否则我非常喜欢 repmgr。最后,repmgr 似乎不适合多个 PG 集群(实例),因为 repmgr 集群连接字符串和 PG 集群(端口)之间存在隐含关系。因此,您基本上必须为每个集群 PG 集群/实例创建一个单独的 repmgr 环境 (DB),从而失去 repmgr 为表带来的许多操作简单性。

我将研究使用 Corosync/Pacemaker 等的更通用的解决方案,至少在那种情况下,虚拟集群 IP 处理是解决方案的内置功能,不需要额外的软件/资源来实现.

我确定我可能过度简化了事情,但似乎 repmgr 非常接近于解决大部分问题,如果它允许 repmgr DB 完全独立于 PG 集群并允许每个 repmgr 集群指定它自己的连接信息,而不是(仅)repmgr 数据库本身的连接信息。

关于postgresql - 集群 PostgreSQL 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44423613/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com