Re: BUG #14785: Logical replication does not work after adding a column. Bug?

From: Stephen Frost <sfrost(at)snowman(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, yxq(at)o2(dot)pl, pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #14785: Logical replication does not work after adding a column. Bug?
Date: 2017-09-26 16:00:58
Message-ID: 20170926160058.GN4628@tamriel.snowman.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Tom,

* Stephen Frost (sfrost(at)snowman(dot)net) wrote:
> * Tom Lane (tgl(at)sss(dot)pgh(dot)pa(dot)us) wrote:
> > Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> writes:
> > > On 9/25/17 15:16, Andres Freund wrote:
> > >> This'll accept tablenames like pg_temp_1foo, right? Might be worth
> > >> being a bit narrower in the test.
> >
> > > Committed with that change. Thanks.
> >
> > 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.

And, to be clear, the new table also doesn't necessairly have
RELPERSISTENCE_TEMP either.

Really is pretty ugly how make_new_heap() operates, it seems...

Thanks!

Stephen

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2017-09-26 17:18:47 Re: BUG #14825: enum type: unsafe use?
Previous Message Stephen Frost 2017-09-26 15:56:33 Re: BUG #14785: Logical replication does not work after adding a column. Bug?