Doc: fix column list vs. replica identity rules.

It was not strictly correct to say that a column list must always include
replica identity columns because that is true for only updates and
deletes.

Author: Peter Smith
Reviwed-by: Vignesh C, Amit Kapila
Backpatch-through: 15, where it was introduced
Discussion: https://postgr.es/m/CAHut+PvOuc9=_4TbASc5=VUqh16UWtFO3GzcKQK_5m1hrW3vqg@mail.gmail.com
This commit is contained in:
Amit Kapila 2022-09-02 16:44:52 +05:30
parent bfb9dfd937
commit 376af68611

View File

@ -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>
@ -252,6 +252,13 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
disallowed on those tables.
</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. There are no column list restrictions if the
publication publishes only <command>INSERT</command> operations.
</para>
<para>
A row filter expression (i.e., the <literal>WHERE</literal> clause) must contain only
columns that are covered by the <literal>REPLICA IDENTITY</literal>, in