Re: Add pg_get_publication_ddl function

From: "Jonathan Gonzalez V(dot)" <jonathan(dot)abdiel(at)gmail(dot)com>
To: solai v <solai(dot)cdac(at)gmail(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Add pg_get_publication_ddl function
Date: 2026-06-09 11:35:33
Message-ID: 87wlw83q0q.fsf@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

solai v <solai(dot)cdac(at)gmail(dot)com> writes:

Hello,

>
> [...] One thing I noticed is that the function currently returns
> SETOF text, producing multiple DDL statements such as CREATE
> PUBLICATION followed by ALTER PUBLICATION ... OWNER TO .... I wanted
> to check whether this is the intended long-term API design, as most
> existing pg_get_* functions return a single text value.

Yes this is by design, it's documented that they will return the
OWNER[1] unless that publications doesn't intend to have an OWNER in the
DDL.

> I also noticed
> that publication options are emitted as quoted values, for example:
>
> publish='insert, update'
> publish_generated_columns='none'
> publish_via_partition_root='false'
>
> Would it make sense to emit enum-like and boolean values in their
> native SQL form instead, such as:
>
> publish = 'insert, update'
> publish_generated_columns = none
> publish_via_partition_root = false

Yes, this was already handled by Peter Smith[1] email

Regards!

[1] https://www.postgresql.org/docs/19/functions-info.html#FUNCTIONS-GET-OBJECT-DDL
[2] https://www.postgresql.org/message-id/CAHut%2BPvyd3vN_LV8ppyX6Vu7pKdBhC5M3_zHN7gdJCvz1%3DkKHQ%40mail.gmail.com

--
Jonathan Gonzalez V.
EDB
https://www.enterprisedb.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Rafia Sabih 2026-06-09 11:38:24 Re: postgres_fdw: Emit message when batch_size is reduced
Previous Message Shlok Kyal 2026-06-09 11:32:00 Re: [PATCH] Preserve replication origin OIDs in pg_upgrade