postgresql – Postgres热备和长期查询从属
问题:在热备模式下,在从站(从站角色作为报表数据库服务器)上应用WAL更新时,是否可以运行长时间运行的查询(30秒)?它现在的工作方式是,要么设置下面的参数来杀死长时间运行的查询,以便可以应用WAL更新,或者无限期地延迟WAL更新,直到没有运行查询来应用它们.我们可以同时拥有吗?长时间运行的查询和WAL更新同时应用?
案例实现:我们目前正在使用热备模式来同步从一个主服务器到一个服务器的任何更改.从属角色是一个报告数据库服务器,其查询不断并同时运行(有些以ms为单位,有些以秒为单位, 我们调整了这两个参数,以便在热备份上进行长时间查询: max_standby_archive_delay = -1 # max delay before canceling queries max_standby_streaming_delay = -1 # max delay before canceling queries 在postgres邮件列表中查看类似于我们的存档邮件问题: http://www.postgresql.org/message-id/AANLkTinLg+bpzcjzdndsnGGNFC=D1OsVh+hKb85A-s=n@mail.gmail.com 我理解防止应用WAL更新的概念 简介:无论如何(即使有第三方扩展)我们可以同步奴隶 任何帮助将不胜感激. 谢谢!
感谢Guillaume的回答,但幸运的是,从PostgreSQL 9.1开始,PostgreSQL有hot_standby_feedback选项(你在postgresql.conf中的备用服务器上设置它),它不会杀死长时间运行的查询,并允许WAL更新到备用服务器.这个答案归功于PostgreSQL邮件列表(Raja / Albe / Scott)上的三个人,他们在该邮件线程中帮助了我.希望这对于在stackoverflow上搜索此答案的人有所帮助.电子邮件主题可以在这里找到:
http://www.postgresql.org/message-id/D274E3C1.1113E8%awilliams@dresourcesgroup.com http://www.postgresql.org/docs/9.1/static/hot-standby.html 摘抄:
方案实施: 以下是您应该在备用服务器上配置postgresql.conf的内容: max_standby_archive_delay = -1 max_standby_streaming_delay = -1 hot_standby_feedback = on (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |