为PostgreSQL hot_standby设置wal_keep_segments

发布时间:2020-05-17 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了为PostgreSQL hot_standby设置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所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入脚本之家官方QQ群:1065694478