From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Justin Pryzby <pryzby@telsasoft.com>
Cc: David Rowley <dgrowleyml@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: Fabien COELHO <coelho@cri.ensmp.fr>
Subject: Re: typos
Date: Wed, 20 Apr 2022 14:01:37 +0200
Message-ID: <202204201201.ecwdyys7lg3l@alvherre.pgsql> (raw)
In-Reply-To: <CAA4eK1+ScP3=ORCrYm=BPFn5zneJfN41XtupAnTjOhD=3DnP0w@mail.gmail.com>
On 2022-Apr-20, Amit Kapila wrote:
> Your proposed changes look good to me but I think all these places
> need to mention 'column list' as well because the behavior is the same
> for it.
Hmm, you're right. Added that, and changed the wording somewhat because
some things read awkwardly. Here's the result in patch form.
Column lists seems not mentioned in logical-replication.sgml, either.
--
Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
"La verdad no siempre es bonita, pero el hambre de ella sí"
Attachments:
[text/x-diff] rowfilter-doc.patch (3.0K, ../202204201201.ecwdyys7lg3l@alvherre.pgsql/2-rowfilter-doc.patch)
download | inline diff:diff --git a/doc/src/sgml/ref/create_publication.sgml b/doc/src/sgml/ref/create_publication.sgmlindex 23d883c158..c58478e8f8 100644--- a/doc/src/sgml/ref/create_publication.sgml+++ b/doc/src/sgml/ref/create_publication.sgml@@ -79,7 +79,8 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
</para>
<para>
- If the optional <literal>WHERE</literal> clause is specified, rows for+ If the optional <literal>WHERE</literal> clause is specified, it defines a+ <firstterm>row filter</firstterm> expression. Rows for
which the <replaceable class="parameter">expression</replaceable>
evaluates to false or null will not be published. Note that parentheses
are required around the expression. It has no effect on
@@ -192,6 +193,11 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
consisting of a different set of partitions.
</para>
+ <para>+ This parameter also affects how row filters and column lists are+ chosen for partitions; see below for details.+ </para>+
<para>
If this is enabled, <literal>TRUNCATE</literal> operations performed
directly on partitions are not replicated.
@@ -241,21 +247,28 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
</para>
<para>
- A <literal>WHERE</literal> (i.e. row filter) expression must contain only+ 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
order for <command>UPDATE</command> and <command>DELETE</command> operations
to be published. For publication of <command>INSERT</command> operations,
any column may be used in the <literal>WHERE</literal> expression. The
- <literal>WHERE</literal> clause allows simple expressions that don't have+ row filter allows simple expressions that don't have
user-defined functions, user-defined operators, user-defined types,
user-defined collations, non-immutable built-in functions, or references to
system columns.
- If your publication contains a partitioned table, the publication parameter- <literal>publish_via_partition_root</literal> determines if it uses the- partition's row filter (if the parameter is false, the default) or the root- partitioned table's row filter.+ </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,+ or from the partition itself if it is false (the default).
See <xref linkend="logical-replication-row-filter"/> for details about row
filters.
+ Similarly, for published partitioned tables, the column list for each+ partition is taken from the published partitioned table if the+ publication parameter <literal>publish_via_partition_root</literal> is true,+ or from the partition itself if it is false.
</para>
<para>
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: alvherre@alvh.no-ip.org, amit.kapila16@gmail.com, pryzby@telsasoft.com, dgrowleyml@gmail.com, coelho@cri.ensmp.fr
Subject: Re: typos
In-Reply-To: <202204201201.ecwdyys7lg3l@alvherre.pgsql>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox