0

在 pglogical 复制方面需要一些帮助。以下是我的复制设置:

在 Publisher 端,节点创建成功。我对某些表的列应用了行过滤。就像是:

SELECT pglogical.replication_set_add_table(set_name:= 'default', relation := 'table_1', row_filter:= ' country=''USA'' ');

SELECT pglogical.replication_set_add_table(set_name:= 'default', relation := 'table_2', row_filter:= ' country=''USA'' ');

SELECT pglogical.replication_set_add_table(set_name:= 'default', relation := 'table_3', row_filter:= ' country=''USA'' ');

在订阅者端,节点创建成功。当我创建对发布者的订阅时,状态会pglogical.show_subscription_status()保持initializing一段时间,然后更改为down 我检查了订阅者数据库日志,我看到以下错误:

LOG:  statement: COPY "public"."table_1"("id","column_1","column_2",...........,"some_column") FROM stdin
ERROR:  null value in column "some_column" violates not-null constraint

some_column我检查了 Publisher 并且 in中没有 NULL 值table_1table_1我还检查了出错的特定行,some_column's值为'f'。some_column是一列Boolean NOT NULL

有关如何解决此问题的任何建议?

谢谢。

4

0 回答 0