Re: BUG #15114: logical decoding Segmentation fault - Mailing list pgsql-bugs

From Michael Paquier
Subject Re: BUG #15114: logical decoding Segmentation fault
Date
Msg-id 20181031072938.GC7862@paquier.xyz
Whole thread Raw
In response to Re: BUG #15114: logical decoding Segmentation fault  (Andres Freund <andres@anarazel.de>)
Responses Re: BUG #15114: logical decoding Segmentation fault
List pgsql-bugs
On Tue, Oct 30, 2018 at 04:09:31PM -0700, Andres Freund wrote:
> Replication needs to maintain the other indexes, and for that it needs
> to evaluate predicates.  So I don't understand how you could say that
> it doesn't need to know about other indexes?

You are right, sorry for the noise.  The worker applies the changes so
it needs to know about all the indexes and its information.  So we need
to tackle three separate issues here then:
1) On the sender side, make sure that only the replica index information
is fetched.  I actually would prefer something like what Alvaro proposed
upthread, to not save the saved information into the cached Relation,
and potentially have RelationGetIndexAttrBitmap() overwrite it.
2) On the apply side, move the snapshot build a bit earlier so as the
index information can be built properly.
3) Make sure that RelationGetIndexAttrBitmap() never gets called if
there is no snapshot available.

1) and 2) are the actual bug fixes to back-patch.  3) is optionally
something for HEAD, which Petr proposed.
--
Michael

Attachment

pgsql-bugs by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: BEFORE triggers that return NULL can circumvent referential integrity
Next
From: graham labdon
Date:
Subject: Font Size