Postgresql 如何将订阅状态从“关闭”更改为“复制”

Postgresql 如何将订阅状态从“关闭”更改为“复制”,postgresql,pglogical,Postgresql,Pglogical,我正在尝试将postgresql数据库从提供者节点复制到订阅者节点。 我遵循了中的教程,创建了provider节点,向复制集添加了一个表,并以类似方式创建了订阅服务器来订阅此表,订阅工作正常。 在此之后,我又添加了几个表,它们是不同数据库的一部分,但位于同一个postgres实例上,并已将这些表添加到新的复制集,但对于此集,复制不起作用,订阅服务器将作为此集的下线。 如何使此订阅成为我稍后添加的复制集的复制 以下是我在提供程序节点上运行的命令: 步骤1:运行pg_转储文件以导入DDL命令 psq

我正在尝试将postgresql数据库从提供者节点复制到订阅者节点。 我遵循了中的教程,创建了provider节点,向复制集添加了一个表,并以类似方式创建了订阅服务器来订阅此表,订阅工作正常。 在此之后,我又添加了几个表,它们是不同数据库的一部分,但位于同一个postgres实例上,并已将这些表添加到新的复制集,但对于此集,复制不起作用,订阅服务器将作为此集的下线。 如何使此订阅成为我稍后添加的复制集的复制

以下是我在提供程序节点上运行的命令:

步骤1:运行pg_转储文件以导入DDL命令

psql -U postgres -d databasename1 < exportDDL.pgsql
))

步骤3:创建复制状态

SELECT pglogical.create_replication_set(
set_name := 'qrtz',
replicate_insert := TRUE, replicate_update := TRUE,
replicate_delete := TRUE, replicate_truncate := TRUE);
步骤4:向该集合添加三个表格

SELECT pglogical.replication_set_add_table(
set_name := 'qrtz', relation := ‘qrtz_logs', 
synchronize_data := TRUE);

SELECT pglogical.replication_set_add_table(
set_name := 'qrtz', relation := ‘qrtz_errors', 
synchronize_data := TRUE);

SELECT pglogical.replication_set_add_table(
set_name := 'qrtz', relation := ‘qrtz_calendars', 
synchronize_data := TRUE);
订户节点:

步骤1:使用pg_转储文件运行DDL命令

psql -U postgres -d postgres < exportDDL.pgsql
步骤3:创建订阅

SELECT pglogical.create_subscription(subscription_name := 'qrtz_data’,  
replication_sets := array['qrtz'],
 provider_dsn := 'host=provider-docker-container-ip port=5432 
 dbname=databasename1');
步骤4:使用检查状态

Select * from pglogical.show_subscription_status

订阅qrtz_数据的状态显示为downdown表示订阅未成功:通常存在一些问题。检查Postgres日志中的错误。解决错误后,通过删除并再次创建订阅来重新创建订阅。检查状态。如果再次关闭,请再次检查错误日志。继续迭代,直到状态为
初始化
,然后
复制

更改订阅名称启用
当然没有帮助?。。你必须提供技术细节谢谢回复。我已经用技术细节编辑了这篇文章。
SELECT pglogical.create_subscription(subscription_name := 'qrtz_data’,  
replication_sets := array['qrtz'],
 provider_dsn := 'host=provider-docker-container-ip port=5432 
 dbname=databasename1');
Select * from pglogical.show_subscription_status