Tweak publication fetching in psql Viewing a table with \d in psql also shows the publications at table is in. If a publication is concurrently dropped, this shows an error, because the view pg_publication_tables internally uses pg_get_publication_tables(), which uses a catalog snapshot. This can be particularly annoying if a for-all-tables publication is concurrently dropped.
To avoid that, write the query in psql differently. Expose the function pg_relation_is_publishable() to SQL and write the query using that. That still has a risk of being affected by concurrent catalog changes, but in this case it would be a table drop that causes problems, and then the psql \d command wouldn't be interesting anymore anyway. Reported-by: Tom Lane <t...@sss.pgh.pa.us> Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/a2141c42f9ebc51b4501a4fafea9dd3fb7eda23d Modified Files -------------- src/backend/catalog/pg_publication.c | 24 ++++++++++++++++++++++++ src/bin/psql/describe.c | 14 +++++++++----- src/include/catalog/catversion.h | 2 +- src/include/catalog/pg_proc.h | 2 ++ 4 files changed, 36 insertions(+), 6 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers