Re: Distinguish publication exclusions in object addresses

From: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: Peter Smith <smithpb2250(at)gmail(dot)com>, vignesh C <vignesh21(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-16 06:46:07
Message-ID: 29B7A689-0E30-4A2B-A324-3390D70F93A9@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On Sep 16, 2026, at 13:50, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
>
> --
> With Regards,
> Amit Kapila.
> <v4-0001-Distinguish-publication-exclusions-in-object-addr.patch>

V4 overall looks sold to me. Just a couple of small comments:

1
```
-- No entry of either kind. testpub_default publishes nothing.
SELECT pg_get_object_address('publication excluded relation',
'{public, testpub_tbl1}', '{testpub_default}');
ERROR: publication relation "testpub_tbl1" in publication "testpub_default" does not exist
```

For this new test, the error message is a little surprising to me. Since the requested object type is "publication excluded relation", I would expect the error message to say something like:
```
publication excluded relation "testpub_tbl1" in publication "testpub_default" does not exist
```

2
```
+ if (objtype == OBJECT_PUBLICATION_EXCLUDED_REL && !isexcept)
+ ereport(ERROR,
+ (errcode(ERRCODE_WRONG_OBJECT_TYPE),
+ errmsg("\"%s\" is not an excluded relation of publication \"%s\"",
+ RelationGetRelationName(relation), pubname)));
+ else if (objtype == OBJECT_PUBLICATION_REL && isexcept)
+ ereport(ERROR,
+ (errcode(ERRCODE_WRONG_OBJECT_TYPE),
+ errmsg("\"%s\" is not a published relation of publication \"%s\"",
+ RelationGetRelationName(relation), pubname)));
```

Nitpick: with the modern ereport() style, the extra parentheses around errcode() and errmsg() are no longer needed.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message solai v 2026-09-16 06:51:58 Re: [PATCH] Add CANONICAL option to xmlserialize
Previous Message Chao Li 2026-09-16 06:39:30 Re: [PATCH] Release replication slot on error in SQL-callable slot functions