我正在尝试设置pglogical复制。我有一个表,在提供程序服务器中有大约4行。
=========
employee_id | visitor_email | vistor_id | date | message
-------------+-----------------------+-----------+---------------------+--------------------------
1 | roshan@gmail.com | 1 | 2016-08-24 00:00:00 | This is the first test.
2 | roshan@myrepublic.net | 2 | 2016-08-24 00:00:00 | This is the second test.
3 | roshan@myrepublic.net | 3 | 2016-08-24 00:00:00 | This is the third test.
4 | roshan@myrepublic.net | 4 | 2016-08-24 00:00:00 | This is the fourth test.
===============================
创建上述表格后。我在提供程序中创建了一个复制集。然后我配置了订户节点和订阅。理想情况下,我应该在订阅者中看到提供者表中的4行,但我只看到订阅者中的表结构,而不是数据。如果我在提供者表中添加一个新行,如下所示
INSERT INTO employees (employee_id, visitor_email, date, message) VALUES (5, 'roshan@myrepublic.net', current_date, 'This is the fifth test.');
现在,我可以在订阅者表中看到最后添加的行。开头添加的所有其他4行仍然缺失。我在这里做错了什么?
这是否意味着只考虑在创建replication_sets之后创建的数据?如何将表的全部内容添加到复制集。?
非常感谢任何帮助。?
此致 穆罕默德·罗森(Muhammed Roshan)
答案 0 :(得分:1)
您可以发出resynchronise_table命令来提取所有内容。如您所见,所有后续插入都可以。
使用此功能:
pglogical.alter_subscription_resynchronize_table(subscription_name name, relation regclass)
您也可以在初始同步期间通过“synchronize_data”:
有关详细信息,请参阅以下文档中的2.3:
https://2ndquadrant.com/en/resources/pglogical/pglogical-docs/