On Friday, June 25, 2021 2:25 AM vignesh C <vignes...@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

Reply via email to