Re: Added schema level support for publication.
Greg Nancarrow <gregn4422@gmail.com>
From: Greg Nancarrow <gregn4422@gmail.com>
To: vignesh C <vignesh21@gmail.com>
Cc: "tanghy.fnst@fujitsu.com" <tanghy.fnst@fujitsu.com>,
Ajin Cherian <itsajin@gmail.com>, Rahila Syed <rahilasyed90@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Date: 2021-07-16T03:54:51Z
Lists: pgsql-hackers
On Wed, Jul 14, 2021 at 8:17 PM vignesh C <vignesh21@gmail.com> wrote:
>
> Thanks for your comments, the attached v11 patch fixes the issues.
>
Thanks for your work on this.
I have some minor review comments on the documentation:
(1) wrong link (uses altersubscription instead of alterpublication)
doc/src/sgml/catalogs.sgml
BEFORE:
+ created as an empty publication type. When a table or schema is added to
+ the publication using <link linkend="sql-altersubscription">
+ <command>ALTER PUBLICATION</command></link> then the publication type
AFTER:
+ created as an empty publication type. When a table or schema is added to
+ the publication using <link linkend="sql-alterpublication">
+ <command>ALTER PUBLICATION</command></link> then the publication type
(2) Improve wording and suggest "or" instead of "and"
doc/src/sgml/catalogs.sgml
BEFORE:
+ If a publication is created without specifying any of
+ <literal>FOR ALL TABLES</literal>, <literal>FOR TABLE</literal> and
+ <literal>FOR SCHEMA</literal> option, then the publication will be
AFTER:
+ If a publication is created without specifying any of the
+ <literal>FOR ALL TABLES</literal>, <literal>FOR TABLE</literal> or
+ <literal>FOR SCHEMA</literal> options, then the publication will be
(3) space at start of literal
doc/src/sgml/catalogs.sgml
+ and <literal> FOR SCHEMA</literal>, so for such publications there will be a
(4) Should say "variants of this command change ..." ?
+ The fourth, fifth and sixth variants change which schemas are part of the
Also, there seems to be an issue with ALTER PUBLICATION ... SET SCHEMA ...
(PubType is getting set to 'e' instead of 's'
test_pub=# create publication pub1;
CREATE PUBLICATION
test_pub=# create table myschema.test(i int);
CREATE TABLE
test_pub=# alter publication pub1 set schema myschema;
ALTER PUBLICATION
test_pub=# \dRp pub1
List of publications
Name | Owner | All tables | Inserts | Updates | Deletes | Truncates |
Via root | PubType
------+-------+------------+---------+---------+---------+-----------+----------+---------
pub1 | gregn | f | t | t | t | t |
f | e
(1 row)
test_pub=# alter publication pub1 add table test;
ALTER PUBLICATION
test_pub=# \dRp pub1
List of publications
Name | Owner | All tables | Inserts | Updates | Deletes | Truncates |
Via root | PubType
------+-------+------------+---------+---------+---------+-----------+----------+---------
pub1 | gregn | f | t | t | t | t |
f | t
(1 row)
When I use "ADD SCHEMA" instead of "SET SCHEMA" on an empty
publication, it seems OK.
Regards,
Greg Nancarrow
Fujitsu Australia
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