[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pgsql-bugs
Subject:    Re: [BUGS] BUG #14785: Logical replication does not work after adding a column. Bug?
From:       Andres Freund <andres () anarazel ! de>
Date:       2017-09-26 18:19:47
Message-ID: 20170926181947.2slrmvpiqvlbtxej () alap3 ! anarazel ! de
[Download RAW message or body]

On 2017-09-26 14:17:21 -0400, Tom Lane wrote:
> Stephen Frost <sfrost@snowman.net> writes:
> > * Tom Lane (tgl@sss.pgh.pa.us) wrote:
> >> This patch is using the wrong approach entirely.  Every other place in
> >> the backend that is trying to exclude temp relations uses a test on the
> >> containing namespace, not the relname.
> 
> > The specific issue here is that the new pg_class entry is created in the
> > same namespace, not in the temp one.  The commit mentions make_new_heap()
> > specifically because that's where the issue is coming from because
> > that's creating this new pg_temp_XXX table in the regular user
> > namespace.
> 
> Um ... but that transient relation should never be visible to any other
> backend, because we delete it before committing.  If there is someplace
> where this is not the case, then we need to change that, because it'll
> break everything else that scans pg_class, such as VACUUM.

This is accessed during logical decoding, for filtering purposes.
Because outputting all those rewritten rows for a temp relation isn't
helpful, rather to to the contrary.

Obviously it'd be better if we'd some nicer infrastructure, but that
seems like something for v11+.

> In short: this code is unlike every other similar check in the backend.
> I find it unlikely that this is right and all the others are wrong.

I don't think those checks are comparable.

Greetings,

Andres Freund


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic