I see that if the table is a inheritance parent, and ONLY is not specified, the child tables are also added to the publication.
create table parent (a int); create table child () inherits (parent); create publication parent_pub for table parent; \d parent Table "public.parent" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- a | integer | | | Publications: "parent_pub" Number of child tables: 1 (Use \d+ to list them.) \d child Table "public.child" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- a | integer | | | Publications: "parent_pub" Inherits: parent If the child table is later removed from the inheritance hierarchy, it continues to be a part of the publication. alter table child no inherit parent; ALTER TABLE \d child Table "public.child" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- a | integer | | | Publications: "parent_pub" Perhaps that's intentional? Thanks, Amit -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers