From ffade3916b0ab7b84e11445b706e898a0ca258e6 Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Mon, 22 Aug 2022 16:14:03 +1000 Subject: [PATCH v2] Column List replica identity rules. It was not strictly correct to say that a column list must always include replica identity columns. This patch modifies the CREATE PUBLICATION "Notes" so the column list replica identity rules are more similar to those documented for row filters. --- doc/src/sgml/ref/create_publication.sgml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/ref/create_publication.sgml b/doc/src/sgml/ref/create_publication.sgml index 5790d76..31f34f1 100644 --- a/doc/src/sgml/ref/create_publication.sgml +++ b/doc/src/sgml/ref/create_publication.sgml @@ -90,8 +90,8 @@ CREATE PUBLICATION name When a column list is specified, only the named columns are replicated. If no column list is specified, all columns of the table are replicated - through this publication, including any columns added later. If a column - list is specified, it must include the replica identity columns. + through this publication, including any columns added later. It has no + effect on TRUNCATE commands. @@ -265,6 +265,16 @@ CREATE PUBLICATION name + Any column list must include the REPLICA IDENTITY columns + in order for UPDATE or DELETE + operations to be published. Furthermore, if the table uses + REPLICA IDENTITY FULL, specifying a column list is not + allowed (it will cause publication errors for UPDATE or + DELETE operations). There are no column list restrictions + if the publication publishes only INSERT operations. + + + For published partitioned tables, the row filter for each partition is taken from the published partitioned table if the publication parameter publish_via_partition_root is true, -- 1.8.3.1