Re: Support logical replication of DDLs

From: vignesh C <vignesh21(at)gmail(dot)com>
To: Zheng Li <zhengli10(at)gmail(dot)com>
Cc: li jie <ggysxcq(at)gmail(dot)com>, Ajin Cherian <itsajin(at)gmail(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, "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: 2022-12-14 10:34:44
Message-ID: CALDaNm0jtir-LffQtwxr6aD5XbiyWcXdsTDQbDOAFK=juP_zXg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

On Wed, 14 Dec 2022 at 03:56, Zheng Li <zhengli10(at)gmail(dot)com> wrote:
>
> Attaching V50 patch set which adds support for SECURITY LABEL commands.
> Also fixed an issue in deparse_AlterRelation from the last conflict resolution.
>
> On Mon, Dec 12, 2022 at 9:37 PM li jie <ggysxcq(at)gmail(dot)com> wrote:
> >
> > I noticed that the issue of ownership seems to have not been considered.
> > For example, if a user 'a' from the publishing side creates a table t1,
> > the owner of t1 is not user 'a' after it is replicated to the subscribing side.
> > This is a situation that has not been encountered in previous DML replication.
> >
> > I think the ownership relationship should not be lost,
> > and we should perhaps add it back,
> > like pg_dump "ALTER TABLE public.t1 OWNER TO a;",
> > even though we do not currently support the replication of USER.
>
> I agree that this is a useful scenario. On the other hand, I think it
> also makes sense to keep the ownership of objects to the subscription
> owner in other use cases. Maybe we can make it optional whether to
> inherit the original ownership of the publisher on the subscriber
> using a new subscription_parameter. For example, original_ownership:
> CREATE SUBSCRIPTION mysub CONNECTION 'conninfo' PUBLICATION mypub WITH
> (original_ownership=true);
>
> Then we can change the apply worker to set the ownership of new
> objects accordingly. We also need to make the owner information
> available in the logicalddlmsg, currently we don't log this
> information.

The patch was not compiling because of recent commit
60684dd834a222fefedd49b19d1f0a6189c1632e which removes ACL_VACUUM and
ACL_ANALYZE, updated the patch to handle the changes in ddl
replication of grant command accordingly. The attached patch has the
changes for the same.

Regards,
Vignesh

Attachment Content-Type Size
v50-0003-Support-CREATE-TABLE-AS-SELECT-INTO.patch text/x-patch 15.7 KB
v50-0004-Test-cases-for-DDL-replication.patch text/x-patch 24.6 KB
v50-0002-Support-DDL-replication.patch text/x-patch 132.5 KB
v50-0001-Functions-to-deparse-DDL-commands.patch text/x-patch 326.5 KB
v50-0005-Skip-ALTER-TABLE-subcommands-generated-for-Table.patch text/x-patch 2.2 KB
v50-0006-Support-DDL-replication-of-alter-type-having-USI.patch text/x-patch 9.0 KB
v50-0007-Introduce-the-test_ddl_deparse_regress-test-modu.patch text/x-patch 46.7 KB

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Willy-Bas Loos 2022-12-14 17:00:18 Re: tcp keepalives not sent during long query
Previous Message Laurenz Albe 2022-12-14 09:52:35 Re: tcp keepalives not sent during long query

Browse pgsql-hackers by date

  From Date Subject
Next Message John Naylor 2022-12-14 10:37:52 Re: slab allocator performance issues
Previous Message Etsuro Fujita 2022-12-14 09:44:48 Re: Allow batched insert during cross-partition updates