postgresql/contrib
Michael Paquier bb45156f34 Show names of DEALLOCATE as constants in pg_stat_statements
This commit switches query jumbling so as prepared statement names are
treated as constants in DeallocateStmt.  A boolean field is added to
DeallocateStmt to make a distinction between ALL and named prepared
statements, as "name" was used to make this difference before, NULL
meaning DEALLOCATE ALL.

Prior to this commit, DEALLOCATE was not tracked in pg_stat_statements,
for the reason that it was not possible to treat its name parameter as a
constant.  Now that query jumbling applies to all the utility nodes,
this reason does not apply anymore.

Like 638d42a3c5, this can be a huge advantage for monitoring where
prepared statement names are randomly generated, preventing bloat in
pg_stat_statements.  A couple of tests are added to track the new
behavior.

Author: Dagfinn Ilmari Mannsåker, Michael Paquier
Reviewed-by: Julien Rouhaud
Discussion: https://postgr.es/m/ZMhT9kNtJJsHw6jK@paquier.xyz
2023-08-27 17:27:44 +09:00
..
adminpack
amcheck Fix test of pg_stat_io for wal_level=minimal. 2023-07-01 10:00:39 -07:00
auth_delay
auto_explain Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
basebackup_to_shell Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
basic_archive Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
bloom Use the buffer cache when initializing an unlogged index. 2023-08-23 17:21:31 +03:00
bool_plperl
btree_gin
btree_gist Allow some exclusion constraints on partitions 2023-07-12 09:25:17 +02:00
citext Remove read-only server settings lc_collate and lc_ctype 2023-06-07 16:57:06 +02:00
cube Handle \v as a whitespace character in parsers 2023-07-06 08:16:24 +09:00
dblink Refactor some code related to wait events "BufferPin" and "Extension" 2023-07-03 11:01:02 +09:00
dict_int
dict_xsyn
earthdistance
file_fdw Re-allow FDWs and custom scan providers to replace joins with pseudoconstant quals. 2023-08-15 16:45:00 +09:00
fuzzystrmatch Ensure Soundex difference() function handles empty input sanely. 2023-05-16 10:53:42 -04:00
hstore Handle \v as a whitespace character in parsers 2023-07-06 08:16:24 +09:00
hstore_plperl
hstore_plpython In hstore_plpython, avoid crashing when return value isn't a mapping. 2023-04-27 11:55:06 -04:00
intagg
intarray Remove unnecessary pfree() in g_intbig_compress(). 2023-07-13 13:07:51 -04:00
isn
jsonb_plperl
jsonb_plpython
lo
ltree Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
ltree_plpython
oid2name
old_snapshot
pageinspect pageinspect: Fix gist_page_items() with included columns 2023-05-19 12:37:58 +09:00
passwordcheck
pg_buffercache
pg_freespacemap
pg_prewarm Refactor some code related to wait events "BufferPin" and "Extension" 2023-07-03 11:01:02 +09:00
pg_stat_statements Show names of DEALLOCATE as constants in pg_stat_statements 2023-08-27 17:27:44 +09:00
pg_surgery
pg_trgm
pg_visibility
pg_walinspect Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
pgcrypto Improve const use in zlib-using code 2023-08-07 09:34:38 +02:00
pgrowlocks
pgstattuple
postgres_fdw Fix code indentation vioaltion introduced in commit 9e9931d2b. 2023-08-15 17:45:00 +09:00
seg Handle \v as a whitespace character in parsers 2023-07-06 08:16:24 +09:00
sepgsql Catalog not-null constraints 2023-08-25 13:31:24 +02:00
spi
sslinfo Revert "Add notBefore and notAfter to SSL cert info display" 2023-07-20 17:18:12 +02:00
start-scripts
tablefunc
tcn
test_decoding Catalog not-null constraints 2023-08-25 13:31:24 +02:00
tsm_system_rows
tsm_system_time
unaccent Fix regression tests of unaccent to work without UTF8 support 2023-07-04 08:05:00 +09:00
uuid-ossp
vacuumlo
xml2
contrib-global.mk
Makefile
meson.build
README

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.