postgresql – wal_keep_segments为什么最小,不是最大?
根据
docs
同时根据我的经验 – 你创建一个slave并从默认值更改wal_keep_segments让它为64,并观察随着xlogs的数量开始增长直到达到64个文件.我认为这是最大值,而不是最小值. 然后,如果你创建一个超过16M的事务* 64 = 1GB奴隶被打破说它需要删除WAL文件.因为MAXIMUM文件的数量少于需要的数量,对吧? 更新:AS文档在第一句中说明我正在谈论流式复制
主人,不是奴隶(没有级联复制)
archive_command是“do-nothing”cd.并且根本没有设置recovery.conf中的restore_command 解决方法
要直接回答您的问题,为什么最低限度,为什么不最大?因为新的WAL段可以比RemoveOldXlogFiles(_logSegNo,recptr)函数增长得快,所以可以删除旧的.
另外,计算docs中可能的WAL段数的公式是错误的.我总是比checkpoint_segments更多的WALs wal_keep_segments 1一个更精确的公式是这样的:wal_keep_segments 2 * checkpoint_segments 1 这里有一个古老但非常好的帖子:http://www.postgresql.org/message-id/CAECtzeUeGhwCiNTishH=+kxhiepJsHu7EO0J6-LEVO-ek5oPkg@mail.gmail.com 如果你进行大量插入,你的WAL段将比它们被移除的速度更快.这让我这个星期.我希望pg_xlog保持相对恒定的大小.有一个大型的过程在晚上运行,当我第二天早上上班时,我的postgres实例崩溃了,因为我安装到那些WAL上的音量已经完全充满了. Postgres填满了音量,试图写更多的WAL,不能,并且突然死亡.幸运的是,我们在pgpool2后面运行复制品. 如果您有好奇心,我建议您浏览postgres源代码.它是巨型的,在C中,但代码注释确实有帮助.这个文件特别具有启发性,因为它进入了检查点如何工作以及如何删除旧的WAL段的细节:https://github.com/postgres/postgres/blob/master/src/backend/access/transam/xlog.c (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
- 没有标记 – 每个系统管理员应阅读的最具影响力的单一书是什
- c# – 你能将XAML DrawingImage转换回SVG进行编辑吗?
- 漫谈兼容内核之一:ReactOS 怎样实现系统调用
- 一些正则
- ruby-on-rails – Couchapp是Web框架的现实替代品吗?
- ruby-on-rails – 如何最好地使用rails清理丰富的html?
- ajaxFileUpload 报这错jQuery.handleError is not a functi
- Flash图表控件FusionCharts如何在图表中显示标识和图片
- ruby-on-rails – 如何在不使用任何yaml文件的情况下设置第