Re: Support logical replication of DDLs

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Cc: Vitaly Davydov <v(dot)davydov(at)postgrespro(dot)ru>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Support logical replication of DDLs
Date: 2026-02-12 22:12:02
Message-ID: aY5QMkm8xHnU32M_@momjian.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

On Wed, Feb 4, 2026 at 04:39:38PM +0900, Masahiko Sawada wrote:
> On Tue, Feb 3, 2026 at 1:04 AM Vitaly Davydov <v(dot)davydov(at)postgrespro(dot)ru> wrote:
> > 4. Another option is to create json/ddl-sql from system catalog changes without
> > an intermediate representation, but, anyway, when we interpret system catalog
> > changes we have to temporary save current data in some structures. Parsenodes
> > is the already existing solution for it.
>
> IIUC, one of the main challenges of the "deparsing DDL parse tree"
> idea is the maintenance burden. If we implement logic to deparse parse
> nodes back to SQL text, we would end up updating that deparsing code
> every time the underlying parse node definition changes (which happens
> frequently in internal structures). This introduces a substantial and
> ongoing maintenance cost.

I agree maintenance is the big blocker, but the maintenance is two
parts:

1. writing the patch to adjust for new features in each major release
2. testing the patch

People create some strange database schemas, so testing will be
difficult.

pg_upgrade had a similar challenge, and I found that pushing as much of
the changes _out_ of pg_upgrade and to other parts of the system, e.g,,
pg_dump, was a big help. I am not sure if that is possible for
replicated DDL, but if it is, I would pursue it.

--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com

Do not let urgent matters crowd out time for investment in the future.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Laurenz Albe 2026-02-13 06:43:33 Re: pg_restore failed on foreign key constraint
Previous Message Ron Johnson 2026-02-12 21:35:09 pg_restore failed on foreign key constraint

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2026-02-12 22:22:03 Re: AIX support
Previous Message Nathan Bossart 2026-02-12 21:59:24 Re: pg_upgrade: transfer pg_largeobject_metadata's files when possible