Hello! Thanks, I can confirm the fixes work.
I did some more testing. I think I see two problems with ALTER TABLE ... SET SCHEMA: 1. CREATE SCHEMA s; CREATE SCHEMA other; CREATE TABLE s.t(i int); CREATE PUBLICATION p FOR TABLES IN SCHEMA s EXCEPT (TABLE s.t); ALTER TABLE s.t SET SCHEMA other; ALTER PUBLICATION p ADD TABLES IN SCHEMA other; -- shouldn't s.t be there? SELECT schemaname, tablename FROM pg_publication_tables WHERE pubname='p' ORDER BY 1,2; 2. CREATE SCHEMA s; CREATE SCHEMA other; CREATE TABLE s.t(i int); CREATE PUBLICATION p FOR TABLES IN SCHEMA s EXCEPT (TABLE s.t); ALTER TABLE s.t SET SCHEMA other; ALTER PUBLICATION p DROP TABLES IN SCHEMA s; -- should it still be there? it isn't without the alter set schema SELECT pr.prrelid::regclass AS rel, pub.pubname, pr.prexcept FROM pg_publication_rel pr JOIN pg_publication pub ON pub.oid=pr.prpubid;
