PostgreSQL 流复制解惑
1|0一、流复制的机制
PostgreSQL流复制是基于wal日志。主库产生wal日志并发送给备库;备库接收wal日志记录;并重放这些wal日志。从而达到主备库数据同步。备库只读。
2|0二、冲突检测机制
PostgreSQL流复制中备库是只读的;备库在读某些记录时;跟主库执行的ddl操作/或者一些维护操作。例如vacuum死tuple时。备库正是需要在查询的tuple。
解决这些冲突:
备库取消查询
主库延迟清理死tuple
参数max_standby_archive_defer、max_standby_steaming_defer 设置大一点。
备库开启feed back。 告知主库在清理tuple是否是备库所需要的。
vacuum_defer_cleanup_age设置大一点;减少冲突。
3|0三、如果备库开启FEED BACK对主库有什么伤害
如果备库开启feed back。可能会操作主库的对象膨胀。
备库开启feed back;其目的是告知主库“备库最小活跃的事物ID”。而活跃中tuple不用被清理,而这些tuple正好是update/delete造成的死 tuple。主库不会对这些vacuum。影响等同于主库的长事物未终止
4|0四、同步复制机制的堵塞机制
同步复制机制:主库的事务需要wal日志传送给备库或者备库需要应用wal日志才能返回。若网络不好,或者wal日志比较大。从而造成主库事务一直在等待。
5|0五、如何降低延迟
开启同步模式;
参数max_standby_archive_defer、max_standby_steaming_defer设置小一点。
主备库直接使用内网连接
6|0六、如何避免主备断开后需要重搭
将wal_keep_segment设置大一些。
使用命令pg_rewind进行备库恢复。
7|0七、如何做到数据传输安全
主备库是用内网连接;
采用ssl加密连接
8|0八、如何降低跨域数据传输延迟
使用内网连接
__EOF__

本文作者:lottu
本文链接:https://www.cnblogs.com/lottu/p/13993178.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/lottu/p/13993178.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2013-11-17 Shell—学习之心得