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/


Reply via email to