如何在Windows Server 2008上实现PostgreSQL的高可用性?

如何在Windows Server 2008上实现PostgreSQL的高可用性?

我正在寻找一种方法,让 postgresql 数据库在某些 Windows 2008 服务器机箱上以高可用性运行。
我不是 Windows 服务器管理专家,也不是 postgresql 专家,所以我对不同的替代方案有点困惑。
似乎从版本 9 开始,postgresql 就提供了开箱即用的复制功能,允许将多个被动服务器与主服务器保持同步,并在主服务器发生故障时激活其中一个。然而,这对于客户端应用程序来说必须完全不可见,它们甚至不应该知道有多个服务器。
我还阅读了一些关于 Windows 2008 中的故障转移群集功能的信息,这是在此实现 HA 的建议方法类似问题

由于我对这个领域完全陌生,我很难理解设置此配置的正确方法。在我看来,“使其对客户端应用程序不可见”可以通过使用 w2008 的故障转移群集自动实现,但使用此功能不会使 postgresql 复制变得无用吗?据我了解,如果我选择故障转移群集,则在任何给定时间都只有一个 postgresql 实例在运行,并且复制将由 windows 处理。

到目前为止我的理解正确吗?有人能帮我更清楚地理解吗?

答案1

是的,您理解正确。使用共享磁盘集群将仅提供一个数据库实例在一组共享磁盘(DAS 或 SAN)上运行。

您可以将其与复制相结合 - 一个很好的例子是将数据复制到未连接到共享磁盘的服务器,例如在同地数据中心。

简而言之:集群在本地用于 HA 目的,复制(通常,或至少在这种情况下)用于灾难恢复。

相关内容