From: | Zheng Li <zhengli10(at)gmail(dot)com> |
---|---|
To: | li jie <ggysxcq(at)gmail(dot)com> |
Cc: | vignesh C <vignesh21(at)gmail(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, Ajin Cherian <itsajin(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-19 21:25:59 |
Message-ID: | CAAD30UKwHmLo1YyjB1j_vCEth0+OS9hkLr9Nrrsw5uwEuOs=+g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-hackers |
Attaching v54 patch set which adds support for:
- CREATE/ALTER/DROP FOREIGN TABLE
- IMPORT FOREIGN SCHEMA, this is captured and replicated as individual
CREATE FOREIGN TABLE command for each FOREIGN TABLE in the SCHEMA.
Note:
DROP FOREIGN TABLE ft1 also generates:
DROP type IF EXISTS ft1;
and
DROP type IF EXISTS ft1[];
These two dropped objects are also captured and replicated to the
subscriber along with the DROP FOREIGN TABLE command which aren't
necessary.
In addition, the patch fixed a bug in deparse_CreateSchemaStmt which
causes a quoted identifier to fail in replication, for example:
CREATE SCHEMA "S 2"; is replicated as CREATE SCHEMA S 2, which will
fail during apply.
Fix is to change %{name}s -> %{name}I in deparse_CreateSchemaStmt.
On Mon, Dec 19, 2022 at 5:02 AM li jie <ggysxcq(at)gmail(dot)com> wrote:
>
> I have presented some comments below:
Thanks for the feedback. I'll look into these.
> 1. AT_AddColumn
>
> > + tmpobj = new_objtree_VA("ADD %{objtype}s %{definition}s", 3,
> [ IF NOT EXISTS ] is missing here.
>
......
>
> 9. regress test
>
> The test patch is very useful.
> I see that the sql case in test_ddl_deparse_regress is similar to the
> one in test_ddl_deparse.
> Why don't we merge the test cases in test_ddl_deparse_regress into
> test_ddl_deparse,
> as the sql case can be completely reused with the sql files in test_ddl_deparse?
> I believe this will make the tests more comprehensive and reduce redundancy.
We have set up test_ddl_deparse_regress as a new module initially to
not interfere with what's being tested by test_ddl_deparse. We could
merge the two test modules if it turns out that we can expand on
test_ddl_deparse to achieve our testing goals and to add more test
cases without breaking what's currently being tested by
test_ddl_deparse.
Regards,
Zheng
Attachment | Content-Type | Size |
---|---|---|
v54-0005-Skip-ALTER-TABLE-subcommands-generated-for-TableLike.patch | application/octet-stream | 2.2 KB |
v54-0003-Support-CREATE-TABLE-AS-SELECT-INTO.patch | application/octet-stream | 15.7 KB |
v54-0002-Support-DDL-replication.patch | application/octet-stream | 132.7 KB |
v54-0004-Test-cases-for-DDL-replication.patch | application/octet-stream | 24.6 KB |
v54-0001-Functions-to-deparse-DDL-commands.patch | application/octet-stream | 327.4 KB |
v54-0007-Introduce-the-test_ddl_deparse_regress-test-module.patch | application/octet-stream | 46.8 KB |
v54-0006-Support-DDL-replication-of-alter-type-having-USING-e.patch | application/octet-stream | 9.0 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Smith | 2022-12-21 00:02:51 | Re: Support logical replication of DDLs |
Previous Message | Brad White | 2022-12-19 18:14:55 | Selecting across servers |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2022-12-19 21:27:00 | Re: Error-safe user functions |
Previous Message | Tom Lane | 2022-12-19 21:21:16 | Re: Use get_call_result_type() more widely |