Re: Added schema level support for publication.

vignesh C <vignesh21@gmail.com>

From: vignesh C <vignesh21@gmail.com>
To: "tanghy.fnst@fujitsu.com" <tanghy.fnst@fujitsu.com>
Cc: Masahiko Sawada <sawada.mshk@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Amit Kapila <amit.kapila16@gmail.com>, Peter Smith <smithpb2250@gmail.com>, Peter Eisentraut <peter.eisentraut@enterprisedb.com>, Greg Nancarrow <gregn4422@gmail.com>, Ajin Cherian <itsajin@gmail.com>, "houzj.fnst@fujitsu.com" <houzj.fnst@fujitsu.com>, Rahila Syed <rahilasyed90@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Date: 2021-09-02T06:35:44Z
Lists: pgsql-hackers
On Wed, Sep 1, 2021 at 11:14 AM tanghy.fnst@fujitsu.com
<tanghy.fnst@fujitsu.com> wrote:
>
> > On Monday, August 30, 2021 11:28 PM vignesh C <vignesh21@gmail.com> wrote:
> >
> > I have fixed these comments as part of v23 patch attached at [1].
> > [1] - https://www.postgresql.org/message-
> > id/CALDaNm0xmqJeQEfV5Wnj2BawM%3DsdFdfOXz5N%2BgGG3WB6k9%3Dtdw
> > %40mail.gmail.com
> >
>
> Thanks for your new patch. Here are some comments on v23 patch.
>
> 1. doc/src/sgml/ref/alter_publication.sgml
> +  <para>
> +   Add some schemas to the publication:
> +<programlisting>
> +ALTER PUBLICATION sales_publication ADD ALL TABLES IN SCHEMA marketing_june, sales_june;
> +</programlisting>
> +  </para>
>
> This change seems to be added twice, both 0003 and 0004 patch have this change.

Modified

> 2. src/sgml/ref/create_publication.sgml
> There is the following description about "FOR TABLE" parameter:
>       Only persistent base tables and partitioned tables can be part of a
>       publication.  Temporary tables, unlogged tables, foreign tables,
>       materialized views, and regular views cannot be part of a publication.
>
> "FOR ALL TABLES IN SCHEMA" parameter also have restrictions, should we add
> some doc description for it?

Modified

> 3. When using '\dn+', I noticed that the list of publications only contains the
> publications for "SCHEMA", "FOR ALL TABLES" publications are not shown. Is it designed on purpose?
> (The result of '\d+' lists the publications of "SCHEAME" and "FOR ALL TABLES").
>
> For example:
> create schema sch1;
> create table sch1.tbl(a int);
> create publication pub_schema for all tables in schema sch1;
> create publication pub_all_tables for all tables;

I'm not sure if it is intentional or not, Do you want to post the
question in a separate thread and see if that should be handled?

Thanks for the comments, the v24 patch attached at [1] handles the comments.
[1] - https://www.postgresql.org/message-id/CALDaNm27bs40Rxpy4oKfV97UgsPG%3DvVoZ5bj9pP_4BxnO-6DYA%40mail.gmail.com

Regards,
Vignesh



Commits

  1. Include schema/table publications even with exclude options in dump.

  2. Rename some enums to use TABLE instead of REL.

  3. Add tap tests for the schema publications.

  4. Allow publishing the tables of schema.

  5. In pg_dump, use simplehash.h to look up dumpable objects by OID.