From: Marina Polyakova <m.polyakova@postgrespro.ru>
To: Michael Paquier <michael@paquier.xyz>
Cc: daniel@yesql.se
Cc: a.lakhin@postgrespro.ru
Cc: pgsql-docs@postgresql.org
Subject: Re: Missing comma?
Date: Mon, 18 May 2020 22:31:35 +0300
Message-ID: <74011867ff6e9c35ad195d1c3e44ed6c@postgrespro.ru> (raw)
In-Reply-To: <20200518061619.GA1830@paquier.xyz>
References: <ad1a0badc32658b1bbb07aa312346a1d@postgrespro.ru>
<5B3957FE-D31E-4838-B35C-C2F0EEC3E557@yesql.se>
<6fa8ba75057b16f88010c2b945f720c0@postgrespro.ru>
<20200514000738.GA166343@paquier.xyz>
<226cae2ef0bf26a59011de38eec9c7f4@postgrespro.ru>
<20200515021625.GD2462@paquier.xyz>
<37b6de0c81a52af5c6a120cd3341ce28@postgrespro.ru>
<20200518061619.GA1830@paquier.xyz>
On 2020-05-18 09:16, Michael Paquier wrote:
> On Sat, May 16, 2020 at 09:38:46PM +0300, Marina Polyakova wrote:
>> I like if we can explain the situation in more detail. But IMO the
>> phrase
>> "same as default" sounds as if we will try to find the primary index
>> and use
>> it if the required index (with pg_index.indisreplident = true) does
>> not
>> exist. What do you think of "(same as nothing if the index used got
>> dropped)"? It seems that in this case we have the same behaviour:
>> - we cannot update or delete rows from the table if the action is
>> published
>> because this table does not have a "working" replica identity;
>> - we cannot apply updates or deletes on subscriber until we have a
>> primary
>> key or the published relation has replica identity full.
>
> Yeah. I was testing that once again today and you are right. The
> publisher would just assume that there is nothing as there is in the
> changes nothing about the old row for a relation using a replident
> based on an index that got dropped, and this even if there is a
> primary key on the relation. So using "same as nothing" would be
> fine.
Glad to hear this =)
> Would you like to send an updated patch? Note that as the release of
> beta1 is planned for this week, we have a grace period until the
> version is tagged on HEAD.
The patch is attached, changes to html such as they were discussed.
--
Marina Polyakova
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
Attachments:0001-Fix-the-description-of-the-field-pg_class.relreplide.patch (text/x-diff, 1.4K) download
From c32085ed0be13da12ee588c075130987378b3446 Mon Sep 17 00:00:00 2001
From: Marina Polyakova <m.polyakova@postgrespro.ru>
Date: Mon, 18 May 2020 22:19:46 +0300
Subject: [PATCH] Fix the description of the field pg_class.relreplident
- Add a comma between "f = all columns" and "i = index with ...".- Fix the description of replica identity index if the index used got dropped
(in this case we cannot update or delete rows from the table if the action is
published even if the table has a primary index).
---
doc/src/sgml/catalogs.sgml | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgmlindex b1b077c97f..58a25e8e68 100644--- a/doc/src/sgml/catalogs.sgml+++ b/doc/src/sgml/catalogs.sgml@@ -2141,8 +2141,10 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
Columns used to form <quote>replica identity</quote> for rows:
<literal>d</literal> = default (primary key, if any),
<literal>n</literal> = nothing,
- <literal>f</literal> = all columns- <literal>i</literal> = index with <structfield>indisreplident</structfield> set, or default+ <literal>f</literal> = all columns,+ <literal>i</literal> = index with+ <structfield>indisreplident</structfield> set (same as nothing if the+ index used got dropped)
</para></entry>
</row>
--
2.17.1
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-docs@postgresql.org
Cc: m.polyakova@postgrespro.ru, michael@paquier.xyz, daniel@yesql.se, a.lakhin@postgrespro.ru
Subject: Re: Missing comma?
In-Reply-To: <74011867ff6e9c35ad195d1c3e44ed6c@postgrespro.ru>
* 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