Re: Reject invalid databases in pg_get_database_ddl()

From: Lakshmi N <lakshmin(dot)jhs(at)gmail(dot)com>
To: Amit Langote <amitlangote09(at)gmail(dot)com>
Cc: Hu Xunqi <huxunqi(dot)08(at)gmail(dot)com>, Euler Taveira <euler(at)eulerto(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Andrew Dunstan <andrew(at)dunslane(dot)net>
Subject: Re: Reject invalid databases in pg_get_database_ddl()
Date: 2026-04-17 04:20:52
Message-ID: CA+3i_M_JzLyF14Uf8pbev8pZB6wOWjWnp1QerUz2REDr0PJrxQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On Thu, Apr 16, 2026 at 8:31 PM Amit Langote <amitlangote09(at)gmail(dot)com>
wrote:

> Hi,
>
> On Fri, Apr 17, 2026 at 11:49 AM Hu Xunqi <huxunqi(dot)08(at)gmail(dot)com> wrote:
> > On Fri, Apr 17, 2026 at 10:16 AM Amit Langote <amitlangote09(at)gmail(dot)com>
> wrote:
> > + /*
> > + * Reject invalid databases: datconnlimit = -2 would be emitted
> as
> > + * CONNECTION LIMIT = -2, which cannot be executed.
> > + */
> >
> > This comment looks a bit too centered on datconnlimit=-2, but the real
> issue is that an invalid pg_database row should not be deparsed into DDL.
> So, maybe rephrase like:
> >
> > /*
> > * Reject invalid databases. Deparsing a pg_database row in invalid state
> > * can produce SQL that is not executable, such as CONNECTION LIMIT = -2.
> > */
>
> I was trying to be precise about datconnlimit = -2 being the thing
> that produces invalid SQL. But your version covers that with the "such
> as CONNECTION LIMIT = -2" example, and it's closer to the original,
> which was on the right track, just needed to be more precise. Let's go
> with it.
>

This looks good to me. Thank you for reviewing and making the changes!

Regards,
Lakshmi

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2026-04-17 04:22:19 Re: Reject invalid databases in pg_get_database_ddl()
Previous Message jian he 2026-04-17 03:58:48 Re: COPY FROM ON_ERROR SET_NULL bypasses domain NOT NULL with partial column list