Re: Distinguish publication exclusions in object addresses

From: Manuel Reyes Bravo <manuelreyesbravo(at)gmail(dot)com>
To: vignesh C <vignesh21(at)gmail(dot)com>
Cc: "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, shveta malik <shveta(dot)malik(at)gmail(dot)com>, Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Distinguish publication exclusions in object addresses
Date: 2026-09-17 14:23:35
Message-ID: CA+bCEdAb_aQPAjoqcpm1PZQdDVnC4biKKNYYD-wBu7JR_z5Mng@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

vignesh C <vignesh21(at)gmail(dot)com> wrote:
> That seems better, here is an updated v3 version to handle the same.
> Same patch applies on pg19 branch and tests passes in both the
> branches.

I tested v3 on master at bca67e5a33b and on REL_19_STABLE at
1d094904bc7: it applies cleanly, builds without warnings, and make check
passes on both. With a relation name and a schema name that need
quoting, and a temporary table, the message goes from

cannot specify relation "public."Part One"" in the publication EXCEPT clause
cannot specify relation ""My Schema"."we""ird"" in the publication
EXCEPT clause
cannot specify relation "pg_temp.tmp" in the publication EXCEPT clause

to

cannot specify relation "public.Part One" in the publication EXCEPT clause
cannot specify relation "My Schema.we"ird" in the publication EXCEPT clause
cannot specify relation "pg_temp_0.tmp" in the publication EXCEPT clause

and the FOR TABLE message is unchanged.

v3 no longer has the temporary table test that v2 added, I assume because
the pg_temp_N number depends on the backend. stats_ext.sql already deals
with that by redacting the number, and the attached top-up does the same,
so the case stays covered:

NOTICE: cannot specify relation
"pg_temp_REDACTED.testpub_temptbl" in the publication EXCEPT clause
(This operation is not supported for temporary tables.)

It passes on both branches, and the same block run from three sessions
at once, with temp schemas pg_temp_1, pg_temp_2 and pg_temp_3, prints the
same line in each.

Regards,
Manu

Attachment Content-Type Size
v3-topup-temp-test.txt text/plain 2.2 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Dilip Kumar 2026-09-17 14:36:34 Re: Proposal: Conflict log history table for Logical Replication
Previous Message Manuel Reyes Bravo 2026-09-17 14:21:16 pg_get_object_address reports a published relation as non-existent