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:33:18 +05:30
parent ea4a066e5f
commit ab3131880d

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