Re: pg_get__*_ddl consolidation

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Andres Freund <andres@anarazel.de>
Cc: "David G. Johnston" <david.g.johnston@gmail.com>, Japin Li <japinli@hotmail.com>, Zsolt Parragi <zsolt.parragi@percona.com>, Euler Taveira <euler@eulerto.com>, Álvaro Herrera <alvherre@kurilemu.de>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-29T15:35:07Z
Lists: pgsql-hackers
On Sun, Apr 26, 2026 at 10:07 AM Andrew Dunstan <andrew@dunslane.net> wrote:

>
> On 2026-04-06 Mo 7:39 AM, Andrew Dunstan wrote:
> >
> > On 2026-04-05 Su 4:03 PM, Andres Freund wrote:
> >
> >
> >>> But do we really have to create a new database and a new tablespace
> >>> for these?
> >>> Database and tablespace creations are quite heavyweight operations.
> >>>
> >>> We already have an existing tablespace and an existing database as
> >>> part of the
> >>> regression tests. Couldn't you make do with those?
> >> Didn't do anything about that.
> >>
> >
> > Well, the trouble is that the database test runs a bunch of alter and
> > revoke statements on the created database, that we probably don't want
> > to persist on the existing regression database. I could see an
> > argument for converting this to a TAP test that would only be run
> > once, given our current very profligate running of the core regression
> > suite. That goes doubly for the tablespace test, which could also
> > probably use ALTER TABLESPACE instead of creating a bunch of
> > tablespaces and then dropping them.
> >
> >
> >
>
> Here's a patch that converts all these into a single TAP test, and
> reduces the number of tablespace creations.
>
>
>
>
pushed.

cheers

andrew

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Use named boolean parameters for pg_get_*_ddl option arguments

  2. Convert ddlutils regression tests to TAP tests.

  3. Fix pfree crash in pg_get_role_ddl() and pg_get_database_ddl().

  4. Fixups for a4f774cf1c7

  5. Add infrastructure for pg_get_*_ddl functions

  6. Add pg_get_database_ddl() function

  7. Add pg_get_role_ddl() function

  8. Add pg_get_tablespace_ddl() function