Re: Support logical replication of DDLs

From: Japin Li <japinli(at)hotmail(dot)com>
To: Zheng Li <zhengli10(at)gmail(dot)com>
Cc: Dilip Kumar <dilipbalaut(at)gmail(dot)com>, rajesh(dot)rs0541(at)gmail(dot)com, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Support logical replication of DDLs
Date: 2022-03-17 00:08:19
Message-ID: MEYP282MB1669F966875F395565BB3728B6129@MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers


Hi, Zhang Li

On Thu, 17 Mar 2022 at 05:17, Zheng Li <zhengli10(at)gmail(dot)com> wrote:
> Hi,
>
>>If you don't mind, would you like to share the POC or the branch for this work?
>
> The POC patch is attached. It currently supports the following functionalities:
> 1. Configure either database level or table level DDL replication via
> the CREATE PUBLICATION command.
>
> 2.Supports replication of DDL of the following types when database
> level DDL replication is turned on. Other less common DDL types could
> be added later.
> T_CreateSchemaStmt
> T_CreateStmt
> T_CreateForeignTableStmt
> T_AlterDomainStmt
> T_DefineStmt
> T_CompositeTypeStmt
> T_CreateEnumStmt
> T_CreateRangeStmt
> T_AlterEnumStmt
> T_ViewStmt
> T_CreateFunctionStmt
> T_AlterFunctionStmt
> T_CreateTrigStmt
> T_CreateDomainStmt
> T_CreateCastStmt
> T_CreateOpClassStmt
> T_CreateOpFamilyStmt
> T_AlterOpFamilyStmt
> T_AlterOperatorStmt
> T_AlterTypeStmt
> T_GrantStmt
> T_AlterCollationStmt
> T_AlterTableStmt
> T_IndexStmt
>
> 3.Supports replication of DDLs of the following types if only table
> level DDL replication is turned on.
> T_AlterTableStmt
> T_IndexStmt
>
> 4.Supports seamless DML replication of new tables created via DDL
> replication without having to manually running “ALTER SUBSCRIPTION ...
> REFRESH PUBLICATION" on the subscriber.
>

Great! I think we can split the patch into several pieces (at least
implementation and test cases) for easier review.

+ * Simiarl to the generic logical messages, These DDL messages can be either
+ * transactional or non-transactional. Note by default DDLs in PostgreSQL are
+ * transactional.

There is a typo, s/Simiarl/Similar/.

--
Regrads,
Japin Li.
ChengDu WenWu Information Technology Co.,Ltd.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Laurenz Albe 2022-03-17 07:51:52 Re: How to explicitly lock and unlock tables in pgsql?
Previous Message Alvaro Herrera 2022-03-16 22:06:18 Re: Support logical replication of DDLs

Browse pgsql-hackers by date

  From Date Subject
Next Message Japin Li 2022-03-17 00:14:07 Re: support for MERGE
Previous Message Jacob Champion 2022-03-16 23:49:48 Re: [PATCH] Accept IP addresses in server certificate SANs