From c96e02554d8632ee07cd9fd0f858b217a63eb983 Mon Sep 17 00:00:00 2001
From: Peter Smith <peter.b.smith@fujitsu.com>
Date: Tue, 23 Aug 2022 11:43:51 +1000
Subject: [PATCH v3] 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 <replaceable class="parameter">name</replaceable>
      <para>
       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 <literal>TRUNCATE</literal> commands.
      </para>
 
      <para>
@@ -265,6 +265,16 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
   </para>
 
   <para>
+   Any column list must include the <literal>REPLICA IDENTITY</literal> columns
+   in order for <command>UPDATE</command> or <command>DELETE</command>
+   operations to be published. Furthermore, if the table uses
+   <literal>REPLICA IDENTITY FULL</literal>, specifying a column list is not
+   allowed (it will cause publication errors for <command>UPDATE</command> or
+   <command>DELETE</command> operations). There are no column list restrictions
+   if the publication publishes only <command>INSERT</command> operations.
+  </para>
+
+  <para>
    For published partitioned tables, the row filter for each
    partition is taken from the published partitioned table if the
    publication parameter <literal>publish_via_partition_root</literal> is true,
-- 
1.8.3.1

