postgresql - 当表不同步时在 postgres 中启动或重新启动逻辑复制
问题描述
我在两个名为 test 的数据库中有一个表。我能够在源数据库中创建一行并将其复制到目标数据库中。但后来我删除了目标数据库中的行。我如何取回该行?如果每个表中有一百万行并且我想在两个表之间同步怎么办,因为无论出于何种原因,目标数据库中都有重复等。
这就是我所做的
create role sub247 with login password 'fakepassword'
replication;
选择 * FROM pg_stat_replication;
更改用户 sub247 登录连接限制 18;
在 SCHEMA public TO sub247 中的所有表上授予选择;
CREATE TABLE public.test ( 测试文本 COLLATE pg_catalog."default", test2 bigint ) WITH ( OIDS = FALSE ) TABLESPACE pg_default;
ALTER TABLE public.test OWNER 到 postgres;插入测试 (test,test2) 值 ('a',1)
更改表测试副本身份已满;为表测试创建发布 pub247b;
然后在目标数据库上
create subscription sub247b connection 'host=facebook.com dbname=247 user=sub247 password=fakepassword port=5432' publication pub247b;
然后过了一段时间......从测试中删除。
现在,我如何再次同步目标数据库上的测试
解决方案
推荐阅读
- centos - 使用 OpenVZ 限制每个容器的网络带宽
- c# - LINQ 仅对数字数据进行排序,但保持列表完整
- mysql - MySQL按同一列中的不同值分组
- css - 为什么默认字体粗细是 400?
- python - jupyter笔记本中的dtale显示
- amazon-web-services - 更新您的 Amazon RDS SSL/TLS 证书 - 我需要在 EC2 上执行任何操作吗
- bash - 在bash函数中使用cat打印多行时继承缩进
- go - 如何在被测函数内创建模拟
- vb.net - 尝试使用 ReadLine.Skip(5) 不断出错——从类型转换
d__31(Of Char)' 键入'String' 无效。' - r - 安装扫帚包时出现的问题