暂无图片
在PG中,repmgr能否实现:当standby落后于primary时,或者落后多少多少时,主库出现故障,不会进行autofailover
我来答
分享
暂无图片 匿名用户
在PG中,repmgr能否实现:当standby落后于primary时,或者落后多少多少时,主库出现故障,不会进行autofailover

请教一个问题,repmgr能否实现:当standby落后于primary时,或者落后多少多少时,主库出现故障,不会进行autofailover

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
everything

repmgr确实可以实现这种功能。这是通过配置复制延迟检查来实现的。以下是具体的实现方法:

1. 复制延迟检查

repmgr提供了一个名为replication_lag_critical的参数。当备库的复制延迟超过这个阈值时,repmgr会认为该备库不适合进行故障转移。

2. 配置方法

repmgr.conf文件中,设置以下参数:

failover=automatic
promote_command='/usr/bin/repmgr standby promote -f /etc/repmgr.conf --log-to-file'
follow_command='/usr/bin/repmgr standby follow -f /etc/repmgr.conf --log-to-file --upstream-node-id=%n'
replication_lag_critical=300   # 单位是秒,这里设置为5分钟
复制

3. 工作原理

  • 当主库出现故障时,repmgr会检查所有可用的备库。
  • 对于每个备库,它会检查复制延迟是否超过replication_lag_critical设定的值。
  • 如果所有备库的复制延迟都超过了这个阈值,repmgr将不会执行自动故障转移。

4. 监控和日志

  • repmgr会记录这种情况,你可以在日志中看到相关信息。
  • 使用repmgr cluster show命令来查看各个节点的状态,包括复制延迟。

5. 注意事项

  • 设置适当的replication_lag_critical值很重要。太小可能导致不必要的故障转移被阻止,太大则可能允许数据不一致的节点成为新的主库。
  • 定期监控和测试你的配置是很重要的,以确保它在实际故障情况下能按预期工作。

通过这种配置,你可以确保只有当备库与主库数据足够同步时,才会进行自动故障转移,从而降低数据丢失的风险。

在repmgr.conf文件中,你可以设置以下参数:

failover=automatic
promote_command=’/usr/bin/repmgr standby promote -f /etc/repmgr.conf --log-to-file’
follow_command=’/usr/bin/repmgr standby follow -f /etc/repmgr.conf --log-to-file --upstream-node-id=%n’
replication_lag_critical=300 # 单位是秒,这里设置为5分钟
工作原理:

当主库出现故障时,repmgr会检查所有可用的备库。
对于每个备库,它会检查复制延迟是否超过replication_lag_critical设定的值。
如果所有备库的复制延迟都超过了这个阈值,repmgr将不会执行自动故障转移。
监控和日志:

repmgr会记录这种情况,你可以在日志中看到相关信息。
你也可以使用repmgr cluster show命令来查看各个节点的状态,包括复制延迟。
注意事项:

设置适当的replication_lag_critical值很重要。太小可能导致不必要的故障转移被阻止,太大则可能允许数据不一致的节点成为新的主库。
定期监控和测试你的配置是很重要的,以确保它在实际故障情况下能按预期工作。
通过这种配置,你可以确保只有当备库与主库数据足够同步时,才会进行自动故障转移,从而降低数据丢失的风险。

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
pg_dump在备份时,排除特定表时,能用通配符吗?
回答 1
可以的,从pgv12开始支持使用T,excludetablePATTERN示例如下:pgdumpnpublicsT"mysettings"ftmp.sql
pgsql里设置了用户的访问IP限制策略,只给了某个库的权限,但是程序报错,提示无法访问 template1,必须同时给template1权限才正常,这是什么原因?
回答 1
template1也是要用到的。如果再建立database,建库时如果不指定TEMPLATE属性,默认用的是template1模板库
postgres oracle_fdw2.4版本IMPORT FOREIGN SCHEMA的bug???
回答 3
已采纳
用下面的命令测试是没问题的IMPORTFOREIGNSCHEMA"SCOTT"FROMSERVERserveroraINTOpublicOPTIONS(case'lower',re
需要从另外一个表里查询数据插入到另外一个表,表结构相同。但是实际操作中发现该列的数据一致,有什么办法数据不一致没?
回答 2
查询的时候先去重,然后在插入就好了
pg数据库下两个库不能授权访问吗?
回答 1
可以访问,但是需要dblink插件或者postgresfdw。具体的使用方式可以官方文档
pg怎么把数据表导出成Excel?
回答 2
COPYtestTO‘/home/postgres/testcopy.csv’WITHCSVheader;–将test表导出到/home/postgres/testcopy.csv
PostgreSQL中怎么保证除主键外的其他字段唯一?
回答 4
已采纳
唯一约束,参见官档:https://www.postgresql.org/docs/14/ddlconstraints.htmlDDLCONSTRAINTSUNIQUECONSTRAINTS
请问一下,pg分区表的表结构可以使用 pg_dump 导出吗?
回答 1
已采纳
可以,指定表导出里面就有相关信息了
postgreSQL 的mvcc怎么实现cache,fusion,维护一个page的所有权表吗?
回答 1
PostgreSQL的MVCC机制是通过维护一个page的所有权表来实现的。当一个事务开始时,它会创建一个新的page,并将该页面的所有行标记为“未锁定”。然后,事务会读取或写入这些行,并将它们标记为
pg-awr报告
回答 2
已采纳
pgprofile
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~