PostgreSQL PG16 逻辑复制在STANDBY 上工作 (译)
-- 假设在PostgreSQL中已经配置了逻辑复制,并且数据库角色'replica'已存在。
-- 创建一个新的表
CREATE TABLE test_table (
id serial PRIMARY KEY,
data text NOT NULL
);
-- 在主库上为复制角色授权
GRANT LOGIN ON ALL TABLES IN SCHEMA public TO replica;
-- 在standby上验证复制设置
SELECT * FROM pg_stat_replication;
-- 在standby上验证角色权限
SELECT rolname FROM pg_roles WHERE rolname='replica';
-- 在standby上验证表是否复制
\dt
-- 在standby上创建同样的表进行比较
CREATE TABLE test_table (
id serial PRIMARY KEY,
data text NOT NULL
);
-- 在主库上插入数据
INSERT INTO test_table (data) VALUES ('主库数据');
-- 在standby上插入数据并验证数据是否一致(可能需要一些时间来同步)
INSERT INTO test_table (data) VALUES ('备库数据');
SELECT * FROM test_table ORDER BY id;
这个例子展示了如何在PostgreSQL的逻辑复制standby上创建一个表,授权复制角色,验证复制的设置和表结构,以及如何在主库和standby上插入数据并验证数据的一致性。这有助于验证逻辑复制的配置和工作原理。
评论已关闭