On Wed, Jan 13, 2021 at 2:53 PM Dilip Kumar <dilipbal...@gmail.com> wrote: > > IIUC the logical replication only replicate the tables in publication, I > > think > > when the tables that aren't in publication should not be replicated. > > > > Attached the patch that fixes it. Thought? > > > > Instead of doing this, I would expect that the RelationSyncCache entry > should be removed when the relation is dropped from the publication. > So if that is done then it will reload the publication and then it > will not find that that relation as published and it will ignore the > changes. But the patch doesn't seem to be exactly on that line. Am I > missing something here?
IIUC, it's not possible to remove the cache entry inside rel_sync_cache_publication_cb, because we don't receive the relid of the alter publication .. dropped relation in the invalidation callback. See the below comment, /* * There is no way to find which entry in our cache the hash belongs to so * mark the whole cache as invalid. */ hash_seq_init(&status, RelationSyncCache); while ((entry = (RelationSyncEntry *) hash_seq_search(&status)) != NULL) entry->replicate_valid = false; With Regards, Bharath Rupireddy. EnterpriseDB: http://www.enterprisedb.com