RE: Added schema level support for publication.
Zhijie Hou (Fujitsu) <houzj.fnst@fujitsu.com>
From: "houzj.fnst@fujitsu.com" <houzj.fnst@fujitsu.com>
To: vignesh C <vignesh21@gmail.com>
Cc: "tanghy.fnst@fujitsu.com" <tanghy.fnst@fujitsu.com>, Greg Nancarrow <gregn4422@gmail.com>, Masahiko Sawada <sawada.mshk@gmail.com>, Peter
Eisentraut <peter.eisentraut@enterprisedb.com>, Tom Lane <tgl@sss.pgh.pa.us>, Peter Smith <smithpb2250@gmail.com>, Ajin Cherian <itsajin@gmail.com>, Rahila
Syed <rahilasyed90@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, Amit Kapila <amit.kapila16@gmail.com>
Date: 2021-10-11T07:20:05Z
Lists: pgsql-hackers
On Monday, October 11, 2021 2:39 PM vignesh C <vignesh21@gmail.com> wrote: > > These comments are fixed in the v38 patch attached. Thanks for updating the patches. Here are a few comments on the v38-0004-Doc patch. 1. + <para> + Adding/Setting a table that is part of schema specified in + <literal>ALL TABLES IN SCHEMA</literal>, adding/setting a schema to a + publication along with same schema's table specified with + <literal>TABLE</literal>, adding/setting a schema to a publication that + already has a table that is part of specified schema or adding/setting a + table to a publication that already has a table's schema as part of + specified schema is not supported. ISTM we can remove the description "adding/setting a schema to a publication along with same schema's table specified with <literal>TABLE</literal>", because it seems the same as the first mentioned case "Adding/Setting a table that is part of schema specified in <literal>ALL TABLES IN SCHEMA</literal>" 2. +</programlisting></para> + + <para> + Add some schemas to the publication: +<programlisting> +ALTER PUBLICATION sales_publication ADD ALL TABLES IN SCHEMA marketing_june, sales_june; +</programlisting> + </para> + + <para> + Add some tables and schemas to the publication: ... + + <para> + Drop some schemas from the publication: ... + <para> + Set some schemas to the publication: +<programlisting> +ALTER PUBLICATION production_publication SET ALL TABLES IN SCHEMA production_september, production_october; Personally, I think we don't need the example about DROP and SET here. The example of ADD seems sufficient. 3. +</programlisting> + </para> + + <para> + Create a publication that publishes all changes for all the tables present in + the schema "production": +<programlisting> +CREATE PUBLICATION production_publication FOR ALL TABLES IN SCHEMA production; +</programlisting> + </para> ... + <para> + Create a publication that publishes all changes for all the tables present in + the schemas "marketing" and "sales": +<programlisting> +CREATE PUBLICATION sales_publication FOR ALL TABLES IN SCHEMA marketing, sales; I think the example for publishing all the tables in schemas "marketing" and "sales" is sufficient, the example for pulishing signal schema seems can be removed. Best regards, Hou zj
Commits
-
Include schema/table publications even with exclude options in dump.
- 4aa6fa3cd0a2 18.0 landed
-
Rename some enums to use TABLE instead of REL.
- b3812d0b9bcf 15.0 landed
-
Add tap tests for the schema publications.
- 6b0f6f79eef2 15.0 landed
-
Allow publishing the tables of schema.
- 5a2832465fd8 15.0 landed
-
In pg_dump, use simplehash.h to look up dumpable objects by OID.
- 92316a4582a5 15.0 cited