postgresql/contrib
Michael Paquier 8b9b93e39b Use relation_close() more consistently in contrib/
All the code paths updated here have been using index_close() to
close a relation that was opened with relation_open(), in pgstattuple
and pageinspect.  index_close() does the same thing as relation_close(),
so there is no harm, but being inconsistent could lead to issues if the
internals of these close() functions begin to introduce some specific
logic in the future.

In passing, this commit adds some comments explaining why we are using
relation_open() instead of index_open() in a few places, which is due to
the fact that partitioned indexes are not allowed in these functions.

Author: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Reviewed-by: Chao Li <li.evan.chao@gmail.com>
Reviewed-by: Japin Li <japinli@hotmail.com>
Discussion: https://postgr.es/m/aUKamYGiDKO6byp5@ip-10-97-1-34.eu-west-3.compute.internal
2026-01-06 16:17:59 +09:00
..
amcheck Update copyright for 2026 2026-01-01 13:24:10 -05:00
auth_delay Update copyright for 2026 2026-01-01 13:24:10 -05:00
auto_explain Update copyright for 2026 2026-01-01 13:24:10 -05:00
basebackup_to_shell Update copyright for 2026 2026-01-01 13:24:10 -05:00
basic_archive Update copyright for 2026 2026-01-01 13:24:10 -05:00
bloom Update copyright for 2026 2026-01-01 13:24:10 -05:00
bool_plperl Update copyright for 2026 2026-01-01 13:24:10 -05:00
btree_gin Update copyright for 2026 2026-01-01 13:24:10 -05:00
btree_gist Update copyright for 2026 2026-01-01 13:24:10 -05:00
citext Update copyright for 2026 2026-01-01 13:24:10 -05:00
cube Update copyright for 2026 2026-01-01 13:24:10 -05:00
dblink Update copyright for 2026 2026-01-01 13:24:10 -05:00
dict_int Update copyright for 2026 2026-01-01 13:24:10 -05:00
dict_xsyn Update copyright for 2026 2026-01-01 13:24:10 -05:00
earthdistance Update copyright for 2026 2026-01-01 13:24:10 -05:00
file_fdw Update copyright for 2026 2026-01-01 13:24:10 -05:00
fuzzystrmatch Update copyright for 2026 2026-01-01 13:24:10 -05:00
hstore Update copyright for 2026 2026-01-01 13:24:10 -05:00
hstore_plperl Update copyright for 2026 2026-01-01 13:24:10 -05:00
hstore_plpython Update copyright for 2026 2026-01-01 13:24:10 -05:00
intagg Update copyright for 2026 2026-01-01 13:24:10 -05:00
intarray Fix selectivity estimation integer overflow in contrib/intarray 2026-01-04 20:32:40 +13:00
isn Update copyright for 2026 2026-01-01 13:24:10 -05:00
jsonb_plperl Update copyright for 2026 2026-01-01 13:24:10 -05:00
jsonb_plpython Update copyright for 2026 2026-01-01 13:24:10 -05:00
lo Update copyright for 2026 2026-01-01 13:24:10 -05:00
ltree Fix typos and inconsistencies in code and comments 2026-01-05 09:19:15 +09:00
ltree_plpython Update copyright for 2026 2026-01-01 13:24:10 -05:00
oid2name Update copyright for 2026 2026-01-01 13:24:10 -05:00
pageinspect Use relation_close() more consistently in contrib/ 2026-01-06 16:17:59 +09:00
passwordcheck Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_buffercache Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_freespacemap Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_logicalinspect Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_overexplain Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_prewarm Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_stat_statements Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_surgery Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_trgm Update copyright for 2026 2026-01-01 13:24:10 -05:00
pg_visibility pg_visibility: Fix incorrect buffer lock description in comment. 2026-01-05 15:49:43 -08:00
pg_walinspect Update copyright for 2026 2026-01-01 13:24:10 -05:00
pgcrypto Update copyright for 2026 2026-01-01 13:24:10 -05:00
pgrowlocks Update copyright for 2026 2026-01-01 13:24:10 -05:00
pgstattuple Use relation_close() more consistently in contrib/ 2026-01-06 16:17:59 +09:00
postgres_fdw Update copyright for 2026 2026-01-01 13:24:10 -05:00
seg Update copyright for 2026 2026-01-01 13:24:10 -05:00
sepgsql Update copyright for 2026 2026-01-01 13:24:10 -05:00
spi Update copyright for 2026 2026-01-01 13:24:10 -05:00
sslinfo Update copyright for 2026 2026-01-01 13:24:10 -05:00
start-scripts Remove gratuitous references to postmaster program 2023-01-26 10:48:32 +01:00
tablefunc Update copyright for 2026 2026-01-01 13:24:10 -05:00
tcn Update copyright for 2026 2026-01-01 13:24:10 -05:00
test_decoding Update copyright for 2026 2026-01-01 13:24:10 -05:00
tsm_system_rows Update copyright for 2026 2026-01-01 13:24:10 -05:00
tsm_system_time Update copyright for 2026 2026-01-01 13:24:10 -05:00
unaccent Update copyright for 2026 2026-01-01 13:24:10 -05:00
uuid-ossp Update copyright for 2026 2026-01-01 13:24:10 -05:00
vacuumlo Update copyright for 2026 2026-01-01 13:24:10 -05:00
xml2 Update copyright for 2026 2026-01-01 13:24:10 -05:00
contrib-global.mk Respect TEMP_CONFIG when pg_regress_check and friends are called 2016-02-27 12:28:21 -05:00
Makefile pg_overexplain: Additional EXPLAIN options for debugging. 2025-03-26 13:52:21 -04:00
meson.build Update copyright for 2026 2026-01-01 13:24:10 -05:00
README Rename 'gmake' to 'make' in docs and recommended commands 2014-02-12 17:29:19 -05:00

The PostgreSQL contrib tree
---------------------------

This subtree contains porting tools, analysis utilities, and plug-in
features that are not part of the core PostgreSQL system, mainly
because they address a limited audience or are too experimental to be
part of the main source tree.  This does not preclude their
usefulness.

User documentation for each module appears in the main SGML
documentation.

When building from the source distribution, these modules are not
built automatically, unless you build the "world" target.  You can
also build and install them all by running "make all" and "make
install" in this directory; or to build and install just one selected
module, do the same in that module's subdirectory.

Some directories supply new user-defined functions, operators, or
types.  To make use of one of these modules, after you have installed
the code you need to register the new SQL objects in the database
system by executing a CREATE EXTENSION command.  In a fresh database,
you can simply do

    CREATE EXTENSION module_name;

See the PostgreSQL documentation for more information about this
procedure.