Re: "unexpected duplicate for tablespace" problem in logical replication - Mailing list pgsql-bugs

From Michael Paquier
Subject Re: "unexpected duplicate for tablespace" problem in logical replication
Date
Msg-id Zffgupps4Gv9BVXL@paquier.xyz
Whole thread Raw
In response to Re: "unexpected duplicate for tablespace" problem in logical replication  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-bugs
On Fri, Feb 02, 2024 at 10:49:17AM -0500, Robert Haas wrote:
> Andres, what do you think about this idea? I wonder if you just
> momentarily forgot about temporary relations when coding
> RelidByRelfilenumber -- because for that function to give well-defined
> answers with temporary relations included, it would need the backend
> ID as an additional argument.

No idea what Andres thinks, but seeing that pg_filenode_relation()
uses in input a tablespace OID and a filenode OID while ignoring the
prefix that would be used for a temp relation path (with a 't' and the
backend number), it is clear that the current function is not suited
to make the difference between temporary and persistent relations as
we'd need to have a priority order to choose one over the other.  And
that may not lead to the correct choice.

Ignoring temporary relations entirely makes sense: one cannot get a
regclass from only a tablespace and a relfilenode, the persistence, as
well as a backend ID would also be required.  I've not checked the
patch in details, but it's to say that the idea to cut temporary
relations sounds rather right here.
--
Michael

Attachment

pgsql-bugs by date:

Previous
From: Thomas Munro
Date:
Subject: Re: Regression tests fail with musl libc because libpq.so can't be loaded
Next
From: "Hayato Kuroda (Fujitsu)"
Date:
Subject: RE: Re:RE: Re:BUG #18369: logical decoding core on AssertTXNLsnOrder()