PostgreSQL 9.4 中的流式复制
Streaming replication in PostgreSQL 9.4
我们最近在我们的 Postgres 服务器(t01、t02)中设置了流复制。
t01 是主机,t02 是从机。我想了解以下两个问题:
最近我们 t01 服务器的 /var
目录已满,应用程序团队无法访问该应用程序。我的理解是,如果 t01 /var
已满,则应连接到 t02 并且应用程序应开始使用它,因为 t02 /var
未满。
如果我们关闭 t01 服务器,我的应用程序是否会自动使用 t02 数据库,在这种情况下流复制是否会提供 HA?
不,PostgreSQL 不会故障转移到备用数据库。正确配置故障转移是一个难题,您需要像 Patroni 这样的专用集群软件来处理它。
实际上,您必须通过 运行 pg_ctl promote
在备用数据库上手动进行故障转移。
您还必须配置您的客户端以使用新服务器。为避免这种情况,您可以使用可以移动到备用服务器的虚拟 IP 地址,或者您必须设置客户端以尝试两个服务器。
我们最近在我们的 Postgres 服务器(t01、t02)中设置了流复制。 t01 是主机,t02 是从机。我想了解以下两个问题:
最近我们 t01 服务器的
/var
目录已满,应用程序团队无法访问该应用程序。我的理解是,如果 t01/var
已满,则应连接到 t02 并且应用程序应开始使用它,因为 t02/var
未满。如果我们关闭 t01 服务器,我的应用程序是否会自动使用 t02 数据库,在这种情况下流复制是否会提供 HA?
不,PostgreSQL 不会故障转移到备用数据库。正确配置故障转移是一个难题,您需要像 Patroni 这样的专用集群软件来处理它。
实际上,您必须通过 运行 pg_ctl promote
在备用数据库上手动进行故障转移。
您还必须配置您的客户端以使用新服务器。为避免这种情况,您可以使用可以移动到备用服务器的虚拟 IP 地址,或者您必须设置客户端以尝试两个服务器。