Add paths of extensions to pg_available_extensions
Add a new "location" column to the pg_available_extensions and
pg_available_extension_versions views, exposing the directory where
the extension is located.
The default system location is shown as '$system', the same value
that can be used to configure the extension_control_path GUC.
User-defined locations are only visible for super users, otherwise
'<insufficient privilege>' is returned as a column value, the same
behaviour that we already use in pg_stat_activity.
I failed to resist the temptation to do a little extra editorializing of
the TAP test script.
Catalog version bumped.
Author: Matheus Alcantara <mths.dev@pm.me>
Reviewed-By: Chao Li <li.evan.chao@gmail.com>
Reviewed-By: Rohit Prasad <rohit.prasad@arm.com>
Reviewed-By: Michael Banck <mbanck@gmx.net>
Reviewed-By: Manni Wood <manni.wood@enterprisedb.com>
Reviewed-By: Euler Taveira <euler@eulerto.com>
Reviewed-By: Quan Zongliang <quanzongliang@yeah.net>
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/f3c9e341cdf167ae3378e74e770558e81f9aa48e
Modified Files
--------------
doc/src/sgml/system-views.sgml | 28 ++++++
src/backend/catalog/system_views.sql | 4 +-
src/backend/commands/extension.c | 109 ++++++++++++++++-----
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_proc.dat | 10 +-
.../t/001_extension_control_path.pl | 52 +++++++---
src/test/regress/expected/rules.out | 6 +-
src/tools/pgindent/typedefs.list | 2 +-
8 files changed, 165 insertions(+), 48 deletions(-)