为PostgreSQL hot_standby设置wal_keep_segments

为PostgreSQL hot_standby设置wal_keep_segments,第1张

概述我在设置PostgreSQL hot_standby时遇到了麻烦.在运行pg_basebackup后尝试启动数据库时,我收到,FATAL:无法从WAL流接收数据:ERROR:请求的WAL段00000001000006440000008D已在 postgresql.log中删除.在IRC中进行了简短的讨论后,我开始明白错误可能源于我的写密集型数据库的wal_keep_segments设置太低. 如果 我在设置Postgresql hot_standby时遇到了麻烦.在运行pg_basebackup后尝试启动数据库时,我收到,FATAL:无法从WAL流接收数据:ERROR:请求的WAL段00000001000006440000008D已在 postgresql.log中删除.在IRC中进行了简短的讨论后,我开始明白错误可能源于我的写密集型数据库的wal_keep_segments设置太低.

如果可能,我如何计算wal_keep_segments的正确设置?此设置的可接受值是多少?

我在做什么:

> Postgresql 9.3
> Debian 7.6

wal_keep_segments可以估算为pg_xlog目录中每分钟新WAL段的平均数乘以您想要安全的分钟数.请记住,在将wal_level从其默认值minimal更改为archive或hot_standby之后,预计该速率会增加.唯一的成本是磁盘空间,默认情况下,每个段为16 MB.

我通常使用2的幂作为值.以每分钟大约1个段的速率,值256给我大约4小时来设置备用.

您也可以考虑使用带有pg_basebackup的WAL流.这是根据其–xlog-method = stream选项.不幸的是,至少从2013年开始,按照discussion on a PostgreSQL mailing list,仍然可以建议将wal_keep_segments设置为非零值 – 这是为了防止流无法跟上.如果你确实使用了pg_basebackup,也不要忘记–checkpoint = fast.

总结

以上是内存溢出为你收集整理的为PostgreSQL hot_standby设置wal_keep_segments全部内容,希望文章能够帮你解决为PostgreSQL hot_standby设置wal_keep_segments所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1181792.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存