Hi, On Wednesday, September 16, 2026 6:14 PM shveta malik <[email protected]> wrote: > On Wed, Sep 16, 2026 at 3:24 PM Zhijie Hou (Fujitsu) > > On Wednesday, September 16, 2026 5:20 PM Manuel Reyes Bravo > <[email protected]> wrote: > > > CREATE TABLE t2(a int); > > > CREATE SCHEMA s2; CREATE TABLE s2.t2(a int); > > > CREATE PUBLICATION pub FOR ALL TABLES EXCEPT (TABLE s2.t2); > > > > > > SELECT pg_get_object_address('publication > > > relation','{s2,t2}','{pub}'); > > > ERROR: "t2" is not a published relation of publication "pub" > > > > > > So the message says that "t2" is not a published relation of pub, while > > > the catalog says that a t2 is. They are different tables, and the user > > > cannot tell which one the message is about. > > > > In this case, the user is explicitly passing s2.t2 as a parameter to get its > > object address. In that context, it's pretty clear to me that t2 in the > > message > > refers exactly to the object the user passed, I personally don't think it > > could > > point to any other table. > > I agree that there is no confusion in above case. But I also don't see > any harm in having a schema-qualified name. It makes the message > clearer. The cases like below can become more understandable with > schema qualified name.
There is no harm, but it is not consistent with the other object messages used here (e.g., they do not report schema-qualified names): get_relation_by_qualified_name get_object_address_attribute get_object_address_attrdef get_object_address_unqualified get_object_address_type ... So it does not look necessary to me to add it for our publication case. The column list error message reports schema-qualified names because users can specify multiple tables with the same name from different schemas, so it's necessary there. But that's not our case. Best Regards, Zhijie Hou
