验证主备是否一致
在主节点创建序列
CREATE SEQUENCE test_seq;
在备节点查看序列
主节点查询序列值
备节点验证同步数据
主备序列值同步
1、14版本中备库sequence值为主库last_value+log_cnt的值,因此主备切换后,无需同步Sequence。
2、其他版本如需在备库更新Sequence最新值,则执行下列操作:
1、获取主库序列最新值
select format($$
select setval('%s.%s'::regclass, %s);$$,
relnamespace::regnamespace::text,
oid::regclass::text,
coalesce(pg_sequence_last_value(oid),
(pg_sequence_parameters(oid)).start_value) + 1)
from pg_class where relkind='S';
2、备库执行SQL
select setval('public.test_seq'::regclass, 38);
select setval('pg_catalog.pg_dist_colocationid_seq'::regclass, 2);
select setval('pg_catalog.pg_dist_groupid_seq'::regclass, 2);
select setval('pg_catalog.pg_dist_shardid_seq'::regclass, 102009);
select setval('pg_catalog.pg_dist_placement_placementid_seq'::regclass, 2);
select setval('pg_catalog.pg_dist_node_nodeid_seq'::regclass, 2);
select setval('columnar.columnar.storageid_seq'::regclass, 10000000001);