postgresql/contrib
Tom Lane 7f580aa5d8 Improve contrib/amcheck's tests for CREATE INDEX CONCURRENTLY.
Commits fdd965d07 and 3cd9c3b92 tested CREATE INDEX CONCURRENTLY by
launching two separate pgbench runs concurrently.  This was needed so
that only a single client thread would run CREATE INDEX CONCURRENTLY,
avoiding deadlock between two CICs.  However, there's a better way,
which is to use an advisory lock to prevent concurrent CICs.  That's
better in part because the test code is shorter and more readable, but
mostly because it automatically scales things to launch an appropriate
number of CICs relative to the number of INSERT transactions.
As committed, typically half to three-quarters of the CIC transactions
were pointless because the INSERT transactions had already stopped.

In passing, remove background_pgbench, which was added to support
these tests and isn't needed anymore.  We can always put it back
if we find a use for it later.

Back-patch to v12; older pgbench versions lack the
conditional-execution features needed for this method.

Tom Lane and Andrey Borodin

Discussion: https://postgr.es/m/139687.1635277318@sss.pgh.pa.us
2021-10-28 11:45:14 -04:00
..
adminpack
amcheck Improve contrib/amcheck's tests for CREATE INDEX CONCURRENTLY. 2021-10-28 11:45:14 -04:00
auth_delay
auto_explain Move Perl test modules to a better namespace 2021-10-24 10:28:19 -04:00
bloom Move Perl test modules to a better namespace 2021-10-24 10:28:19 -04:00
bool_plperl
btree_gin Fix failure of btree_gin indexscans with "char" type and </<= operators. 2021-08-10 18:10:29 -04:00
btree_gist Improve performance of float overflow checks in btree_gist 2021-08-19 10:42:44 +09:00
citext
cube
dblink Improve HINT message that FDW reports when there are no valid options. 2021-10-27 00:46:52 +09:00
dict_int
dict_xsyn
earthdistance
file_fdw
fuzzystrmatch
hstore
hstore_plperl
hstore_plpython
intagg
intarray Clean up some code using "(expr) ? true : false" 2021-09-08 09:44:04 +09:00
isn
jsonb_plperl
jsonb_plpython
lo
ltree Clean up more code using "(expr) ? true : false" 2021-10-11 09:36:42 +09:00
ltree_plpython
oid2name Move Perl test modules to a better namespace 2021-10-24 10:28:19 -04:00
old_snapshot
pageinspect pageinspect: Make page deletion elog less chatty. 2021-09-17 14:19:51 -07:00
passwordcheck
pg_buffercache
pg_freespacemap
pg_prewarm
pg_stat_statements pg_stat_statements: Add some tests for older versions still usable 2021-10-02 17:40:13 +09:00
pg_surgery
pg_trgm Avoid determining regexp subexpression matches, when possible. 2021-08-09 11:26:34 -04:00
pg_visibility
pgcrypto Add alternative output for OpenSSL 3 without legacy loaded 2021-08-10 15:08:46 +02:00
pgrowlocks
pgstattuple
postgres_fdw Improve HINT message that FDW reports when there are no valid options. 2021-10-27 00:46:52 +09:00
seg
sepgsql Clean up some code using "(expr) ? true : false" 2021-09-08 09:44:04 +09:00
spi
sslinfo
start-scripts
tablefunc Fix typos and grammar in code comments 2021-09-27 14:21:28 +09:00
tcn
test_decoding Move Perl test modules to a better namespace 2021-10-24 10:28:19 -04:00
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp
vacuumlo Move Perl test modules to a better namespace 2021-10-24 10:28:19 -04:00
xml2
contrib-global.mk
Makefile
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.