From d7d3f099169178d8a1381660f0f764e27e699eeb Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Fri, 26 Aug 2022 09:42:45 +1000 Subject: [PATCH v4] 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..51f8d38 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