在带有Postgres同步复制的设置中,假设有一台辅助/备用计算机崩溃,这会锁定/停止主计算机吗?也就是说,由于Postgres主服务器在提交写事务之前总是等待辅助/备用的确认,那么如果辅助/备用无法访问,主服务器就会停止工作吗?波斯特格斯是怎么处理这个案子的?
发布于 2014-05-28 06:43:18
在带有Postgres同步复制的设置中,假设有一台辅助/备用计算机崩溃,这会锁定/停止主计算机吗?
是的,是故意的。见手册:
synchronous_standby_names如果辅助/备用无法访问,主服务器就会停止工作吗?
它仍然提供只读查询,但提交将阻塞,并且在副本恢复之前不会返回。如果您可以接受一些没有同步复制的事务,并且在这些事务中包含SET LOCAL synchronous_commit = off,那么它们将在不阻塞的情况下提交。
波斯特格斯是怎么处理这个案子的?
如前所述,您可以配置多个同步副本以减少潜在的生产影响。PostgreSQL按您说的做,并且在它们被复制之前不会确认提交。
如果您不想这样做,请使用异步复制。“同步复制”的想法是没有意义的,在副本离线时,主服务器可以继续工作。
https://dba.stackexchange.com/questions/65956
复制相似问题