RE: Added schema level support for publication.
tanghy.fnst@fujitsu.com <tanghy.fnst@fujitsu.com>
From: "tanghy.fnst@fujitsu.com" <tanghy.fnst@fujitsu.com>
To: vignesh C <vignesh21@gmail.com>
Cc: Rahila Syed <rahilasyed90@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Ajin Cherian <itsajin@gmail.com>
Date: 2021-06-29T03:25:18Z
Lists: pgsql-hackers
On Friday, June 25, 2021 2:25 AM vignesh C <vignesh21@gmail.com>wrote: > > Thanks for reporting these warnings, I have fixed this in the v8 patch > attached at [1]. > [1] - https://www.postgresql.org/message- > id/CALDaNm044P_cds1OxZvFse5rE_qQfhbUg5MdtMgsa7t_bZGJdw%40mail. > gmail.com > Thanks for your patch. The warnings are fixed. But I found an issue while using your V8 patch, which is similar to [1]. The case is as below: Drop a schema from publication and refresh publication at subscriber, then insert into publisher table, the inserts still replicated to subscriber. The expect result is that the data is no longer replicated. For example: ------publisher------ create schema s1; create table s1.t1 (a int primary key); create publication pub for schema s1; ------subscriber------ create schema s1; create table s1.t1 (a int primary key); create subscription sub connection 'dbname=postgres port=5432' publication pub; ------publisher------ insert into s1.t1 values (1); ------subscriber------ postgres=# select * from s1.t1; a --- 1 (1 row) ------publisher------ alter publication pub drop schema s1; insert into s1.t1 values (2); ------subscriber------ postgres=# select * from s1.t1; a --- 1 2 (2 rows) The similar issue [1] (related to "ALTER PUBLICATION .. DROP TABLE") was fixed by modifying in rel_sync_cache_publication_cb callback, which is related to PUBLICATIONRELMAP syscache. In my case, I think it used PUBLICATIONSCHEMAMAP syscache, and no callback was registered for it. Should we register a callback for it or fix it in other ways? [1]https://www.postgresql.org/message-id/flat/CALj2ACV%2B0UFpcZs5czYgBpujM9p0Hg1qdOZai_43OU7bqHU_xw%40mail.gmail.com Regards Tang
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