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