postgresql/contrib
Amit Kapila 8bdb1332eb Avoid repeated decoding of prepared transactions after a restart.
In commit a271a1b50e, we allowed decoding at prepare time and the prepare
was decoded again if there is a restart after decoding it. It was done
that way because we can't distinguish between the cases where we have not
decoded the prepare because it was prior to consistent snapshot or we have
decoded it earlier but restarted. To distinguish between these two cases,
we have introduced an initial_consistent_point at the slot level which is
an LSN at which we found a consistent point at the time of slot creation.
This is also the point where we have exported a snapshot for the initial
copy. So, prepare transaction prior to this point are sent along with
commit prepared.

This commit bumps SNAPBUILD_VERSION because of change in SnapBuild. It
will break existing slots which is fine in a major release.

Author: Ajin Cherian, based on idea by Andres Freund
Reviewed-by: Amit Kapila and Vignesh C
Discussion: https://postgr.es/m/d0f60d60-133d-bf8d-bd70-47784d8fabf3@enterprisedb.com
2021-03-01 09:11:18 +05:30
..
adminpack Update copyright for 2021 2021-01-02 13:06:25 -05:00
amcheck Use full 64-bit XIDs in deleted nbtree pages. 2021-02-24 18:41:34 -08:00
auth_delay Update copyright for 2021 2021-01-02 13:06:25 -05:00
auto_explain Fix ancient memory leak in contrib/auto_explain. 2021-02-02 13:49:08 -05:00
bloom Pass down "logically unchanged index" hint. 2021-01-13 08:11:00 -08:00
bool_plperl Fix broken ruleutils support for function TRANSFORM clauses. 2021-01-25 13:03:43 -05:00
btree_gin Remove support for upgrading extensions from "unpackaged" state. 2020-02-19 16:59:14 -05:00
btree_gist Expose internal function for converting int64 to numeric 2020-09-09 20:16:28 +02:00
citext Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
cube Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
dblink Update copyright for 2021 2021-01-02 13:06:25 -05:00
dict_int Update copyright for 2021 2021-01-02 13:06:25 -05:00
dict_xsyn Update copyright for 2021 2021-01-02 13:06:25 -05:00
earthdistance Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
file_fdw Update copyright for 2021 2021-01-02 13:06:25 -05:00
fuzzystrmatch Update copyright for 2021 2021-01-02 13:06:25 -05:00
hstore Re-implement pl/pgsql's expression and assignment parsing. 2021-01-04 11:52:00 -05:00
hstore_plperl Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
hstore_plpython Fix broken ruleutils support for function TRANSFORM clauses. 2021-01-25 13:03:43 -05:00
intagg Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
intarray Update copyright for 2021 2021-01-02 13:06:25 -05:00
isn Update copyright for 2021 2021-01-02 13:06:25 -05:00
jsonb_plperl Expose internal function for converting int64 to numeric 2020-09-09 20:16:28 +02:00
jsonb_plpython Support infinity and -infinity in the numeric data type. 2020-07-22 19:19:44 -04:00
lo Fix bogus CALLED_AS_TRIGGER() defenses. 2020-04-03 11:24:56 -04:00
ltree Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
ltree_plpython Improve error messages in ltree_in and lquery_in. 2020-03-31 11:14:42 -04:00
oid2name Avoid redundantly prefixing PQerrorMessage for a connection failure. 2021-01-22 16:52:31 -05:00
old_snapshot Update copyright for 2021 2021-01-02 13:06:25 -05:00
pageinspect Use full 64-bit XIDs in deleted nbtree pages. 2021-02-24 18:41:34 -08:00
passwordcheck Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_buffercache Remove support for upgrading extensions from "unpackaged" state. 2020-02-19 16:59:14 -05:00
pg_freespacemap Remove support for upgrading extensions from "unpackaged" state. 2020-02-19 16:59:14 -05:00
pg_prewarm Use errmsg_internal for debug messages 2021-02-17 11:33:25 +01:00
pg_stat_statements Fix crash of pg_stat_statements_info() without library loaded 2021-01-28 16:22:34 +09:00
pg_surgery Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_trgm Fix invalid array access in trgm_regexp.c. 2021-02-21 19:46:46 -05:00
pg_visibility Disable vacuum page skipping in selected test cases. 2021-01-20 11:49:29 -05:00
pgcrypto Add result size as argument of pg_cryptohash_final() for overflow checks 2021-02-15 10:18:34 +09:00
pgrowlocks Avoid holding a directory FD open across assorted SRF calls. 2020-03-16 21:05:52 -04:00
pgstattuple Use full 64-bit XIDs in deleted nbtree pages. 2021-02-24 18:41:34 -08:00
postgres_fdw Allow specifying CRL directory 2021-02-18 07:59:10 +01:00
seg Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
sepgsql Remove gratuitous uses of deprecated SELECT INTO 2021-01-28 14:28:41 +01:00
spi Remove support for upgrading extensions from "unpackaged" state. 2020-02-19 16:59:14 -05:00
sslinfo Use be_tls_* API for SSL information in sslinfo 2020-11-03 09:47:36 +01:00
start-scripts Remove contrib/start-scripts/osx/. 2017-11-17 12:53:20 -05:00
tablefunc Update copyright for 2021 2021-01-02 13:06:25 -05:00
tcn Update copyright for 2021 2021-01-02 13:06:25 -05:00
test_decoding Avoid repeated decoding of prepared transactions after a restart. 2021-03-01 09:11:18 +05:30
tsm_system_rows Update copyright for 2021 2021-01-02 13:06:25 -05:00
tsm_system_time Update copyright for 2021 2021-01-02 13:06:25 -05:00
unaccent Update copyright for 2021 2021-01-02 13:06:25 -05:00
uuid-ossp Add result size as argument of pg_cryptohash_final() for overflow checks 2021-02-15 10:18:34 +09:00
vacuumlo Avoid redundantly prefixing PQerrorMessage for a connection failure. 2021-01-22 16:52:31 -05:00
xml2 Remove support for upgrading extensions from "unpackaged" state. 2020-02-19 16:59:14 -05:00
Makefile Introduce --with-ssl={openssl} as a configure option 2021-02-01 19:19:44 +09:00
README Rename 'gmake' to 'make' in docs and recommended commands 2014-02-12 17:29:19 -05:00
contrib-global.mk Respect TEMP_CONFIG when pg_regress_check and friends are called 2016-02-27 12:28:21 -05:00

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.