七叶笔记 » 数据库 » pgsql之pg_stat_replication的使用详解

pgsql之pg_stat_replication的使用详解

补充:PostgreSQL pg_stat_replication sync_state introduce

PostgreSQL 9.2引入同步复制后, pg_stat_replication的sync_state列有3种状态.

sync

async

potential

分别代表同步standby, 异步standby, 可升级为同步的standby.

状态来自以下函数 : pg_stat_get_wal_senders

[测试]

环境:

1个 primary, 3个 standby.

第一种配置 :

primary配置

standby1配置

standby2配置

standby3配置

primary查询

如果sync节点挂掉, 按synchronous_standby_names的顺序, 第一个potential节点会变成sync状态.

当test1重新起来后又会变成sync状态.

第二种配置 :

primary配置

standby1配置不变

standby2配置不变

standby3配置不变

primary查询

test3变成异步了. 因为test3没有配置在primary的synchronous_standby_names 中.

第三种配置 :

primary配置

synchronous_standby_names = 'test1'

standby1配置不变

standby2配置不变

standby3配置不变

primary查询

test2,test3变成异步了. 因为test2,test3没有配置在primary的synchronous_standby_names 中.

1. src/backend/replication/walsender.c

以上为个人经验,希望能给大家一个参考,也希望大家多多支持七叶笔记。如有错误或未考虑完全的地方,望不吝赐教。

相关文章