I just noticed that this (commit 5a2832465fd8) added a separate catalog
to store schemas which are part of a publication, side-by-side with the
catalog to store relations which are part of a publication. This seems
a strange way to represent publication membership: in order to find out
what objects are members of a publication, you have to scan both
pg_publication_rel and pg_publication_namespace. Wouldn't it make more
sense to have a single catalog for both things, maybe something like
pg_publication_object
oid OID -- unique key (for pg_depend)
prpubid OID -- of pg_publication
prrelid OID -- OID of relation, or 0 if not a relation
prnspid OID -- OID of namespace, or 0 if not a namespace
which seems more natural to me, and pollutes the system less with weird
syscaches, etc.
What do you think?
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/