当副本关闭时,我的主服务器是否会在 Postgresql 中使用日志传送同步复制崩溃?

Does my master server crash using Log-Shipping Synchronous Replication in Postgresql when the replica is down?

我正在寻找主从模型中没有负载平衡的 HA 解决方案,使用 postgresql。到目前为止,我最喜欢的解决方案是日志传送同步复制。但是我有一个主要顾虑,那就是如果我的从服务器不可用,我的主服务器会继续运行吗?还是会等待我的从属服务器的确认,直到它再次启动?

如果您只有一个备用服务器,主服务器将停止(按设计)。

主服务器仍将提供只读语句,但所有写入都将被阻止,直到备用服务器恢复。

您可以通过在 synchronous_standby_names 中提供多个候选人来避免这种情况。

请参阅 PostgreSQL 文档中的 SYNCHRONOUS-REPLICATION

我找到了另一种方法来防止 master 在 slave 崩溃时停止。如果它崩溃了,我们可以在 masters postgresql.conf 文件中使用 wal_sender_timeout 来断开与 slave 的连接。