作者:瀚高PG实验室 (Highgo PG Lab)- 徐云鹤
pg同步流复制和异步流复制关键在于两个参数:
synchronous_standby_names 控制哪些standby被应用同步策略;
synchronous_commit控制同步策略级别。
synchronous_commit参数:
同步等级 | 设定值 | 概述 | 保证范围 |
---|---|---|---|
同步 | remote_apply | 在备库上应用WAL(更新数据)后,它将返回COMMIT响应,并且可以在备库上进行引用。由于完全保证了数据同步,因此它适合需要备库始终保持最新数据的负载分配场景。 | 1-9 |
同步 | on(默认) | 在备库上写入WAL之后,返回COMMIT响应。性能和可靠性之间的最佳平衡。 | 1-6 |
准同步的 | remote_write | WAL已传输到备库后,返回COMMIT响应。 | 1-5 |
异步 | local | 写入主库WAL之后,返回COMMIT响应。 | 1-2 |
异步 | off | 返回COMMIT响应,而无需等待主库WAL完成写入。 | 1 |