Re: Support logical replication of DDLs

From: Ajin Cherian <itsajin(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Peter Smith <smithpb2250(at)gmail(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>, Zheng Li <zhengli10(at)gmail(dot)com>, li jie <ggysxcq(at)gmail(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, "houzj(dot)fnst(at)fujitsu(dot)com" <houzj(dot)fnst(at)fujitsu(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Japin Li <japinli(at)hotmail(dot)com>, rajesh singarapu <rajesh(dot)rs0541(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Support logical replication of DDLs
Date: 2023-02-03 13:27:02
Message-ID: CAFPTHDbXuO5_hDk_rDYCnXFs0WcYB4-mnP6Wr7QS9ekB+MHhTw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

There's a bug in this patch, where if there are multiple publications
that publish ddls,
then multiple event triggers will write multiple WAL records.
This will result in duplicate ddls statements being published.
This will also create multiple WAL records.
To avoid this,
I've added a fix in event_trigger invoking logic
(EventTriggerCommonSetup()) patch-6,
to check for duplicate publication ddl deparsing event trigger functions
and if there are duplicates, only the first event trigger function is
invoked and the rest ignored.
This way, even if there are multiple publications that publish ddls,
then only one set
event trigger functions are invoked.

regards,
Ajin Cherian
Fujitsu Australia

Attachment Content-Type Size
v64-0001-Infrastructure-to-support-DDL-deparsing.patch application/octet-stream 37.3 KB
v64-0004-Introduce-the-test_ddl_deparse_regress-test-modu.patch application/octet-stream 47.4 KB
v64-0005-DDL-messaging-infrastructure-for-DDL-replication.patch application/octet-stream 41.2 KB
v64-0002-Functions-to-deparse-Table-DDL-commands.patch application/octet-stream 130.9 KB
v64-0003-Support-DDL-deparse-of-the-rest-commands.patch application/octet-stream 198.6 KB
v64-0006-Support-DDL-replication.patch application/octet-stream 212.0 KB
v64-0007-Document-DDL-replication-and-DDL-deparser.patch application/octet-stream 40.6 KB

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Miles Elam 2023-02-03 15:35:05 Re: Sequence vs UUID
Previous Message Alvaro Herrera 2023-02-03 10:21:39 Re: Support logical replication of DDLs

Browse pgsql-hackers by date

  From Date Subject
Next Message Laurenz Albe 2023-02-03 13:30:59 Re: Make EXPLAIN generate a generic plan for a parameterized query
Previous Message Amit Langote 2023-02-03 13:01:09 Re: generic plans and "initial" pruning