Re: pg_get_*_ddl() needs a redesign

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Noah Misch <noah(at)leadboat(dot)com>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, Melanie Plageman <melanieplageman(at)gmail(dot)com>, gonzalemario(at)gmail(dot)com, dbryan(dot)green(at)gmail(dot)com, euler(at)eulerto(dot)com, pgsql-hackers(at)postgresql(dot)org
Subject: Re: pg_get_*_ddl() needs a redesign
Date: 2026-09-09 17:34:59
Message-ID: 640139.1788975299@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Noah Misch <noah(at)leadboat(dot)com> writes:
> I want to clarify one thing before you spend much time on fixes. I don't see
> "fixes" addressing this thread as a whole, unless you plan to dispute the
> premise that the feature needs a redesign. In other words, I think the thread
> outcome should be one of these:

> - My review erred in determining that the feature needs a redesign. The
> design is sound and should proceed, possibly with some fixes.

> - Revert the feature.

FWIW, I agree with Noah's point that having two independent
implementations of SQL reverse compilation is not really a place
we want to be: it will be a major PITA for future development.

Unfortunately, I see no practical way to have pg_dump share code with
the backend for most of this stuff; not least because pg_dump has to
support dumping from old backends that won't have any such feature.
So we either swallow that duplication or decide that we're never
going to support this in the backend. Neither choice is palatable,
but I don't think I want to be forced into the duplicative approach
when we've not explored other alternatives (such as refactoring
pg_dump to expose its internal logic in some way).

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Noah Misch 2026-09-09 18:02:38 Re: CREATE SCHEMA ... CREATE DOMAIN support
Previous Message Bharath Rupireddy 2026-09-09 17:28:36 Re: REPACK (CONCURRENTLY) rewrites tables marked with user_catalog_table