postgresql/contrib
Amit Kapila b5e0604732 WAL log unchanged toasted replica identity key attributes.
Currently, during UPDATE, the unchanged replica identity key attributes
are not logged separately because they are getting logged as part of the
new tuple. But if they are stored externally then the untoasted values are
not getting logged as part of the new tuple and logical replication won't
be able to replicate such UPDATEs. So we need to log such attributes as
part of the old_key_tuple during UPDATE.

Reported-by: Haiying Tang
Author: Dilip Kumar and Amit Kapila
Reviewed-by: Alvaro Herrera, Haiying Tang, Andres Freund
Backpatch-through: 10
Discussion: https://postgr.es/m/OS0PR01MB611342D0A92D4F4BF26C0F47FB229@OS0PR01MB6113.jpnprd01.prod.outlook.com
2022-02-14 08:45:54 +05:30
..
adminpack Add missing errcode() in a few ereport calls. 2020-03-18 09:46:52 +05:30
amcheck amcheck: Skip unlogged relations during recovery. 2019-08-12 15:21:27 -07:00
auth_delay Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
auto_explain Fix ancient memory leak in contrib/auto_explain. 2021-02-02 13:49:08 -05:00
bloom Fix failure with lock mode used for custom relation options 2019-09-25 10:08:36 +09:00
btree_gin Fix failure of btree_gin indexscans with "char" type and </<= operators. 2021-08-10 18:10:30 -04:00
btree_gist Fix results of index-only scans on btree_gist char(N) indexes. 2022-01-08 14:54:39 -05:00
chkpass Further cleanup from the strong-random patch. 2016-12-12 11:55:32 +02:00
citext Make contrib modules' installation scripts more secure. 2020-08-10 10:44:43 -04:00
cube Make contrib modules' installation scripts more secure. 2020-08-10 10:44:43 -04:00
dblink postgres_fdw: Fix unexpected reporting of empty message. 2021-12-03 17:37:31 +09:00
dict_int Ensure maxlen is at leat 1 in dict_int 2019-12-03 18:41:50 +01:00
dict_xsyn Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
earthdistance Make contrib modules' installation scripts more secure. 2020-08-10 10:44:43 -04:00
file_fdw Ensure that foreign scans with lateral refs are planned correctly. 2019-02-07 13:11:14 -05:00
fuzzystrmatch Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
hstore Make contrib modules' installation scripts more secure. 2020-08-10 10:44:43 -04:00
hstore_plperl Still further rethinking of build changes for macOS Mojave. 2018-10-18 14:55:23 -04:00
hstore_plpython Fix broken ruleutils support for function TRANSFORM clauses. 2021-01-25 13:03:11 -05:00
intagg Make contrib modules' installation scripts more secure. 2020-08-10 10:44:43 -04:00
intarray Make contrib modules' installation scripts more secure. 2020-08-10 10:44:43 -04:00
isn Phase 3 of pgindent updates. 2017-06-21 15:35:54 -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:43 -04:00
ltree_plpython Prevent accidental linking of system-supplied copies of libpq.so etc. 2018-07-09 17:23:31 -04:00
oid2name Report the true database name on connection errors 2021-01-26 16:42:13 -03:00
pageinspect Disable vacuum page skipping in selected test cases. 2021-01-20 11:49:29 -05:00
passwordcheck Fix handling of previous password hooks in passwordcheck 2019-08-01 09:38:14 +09:00
pg_buffercache Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_freespacemap Default monitoring roles 2017-03-30 14:18:53 -04:00
pg_prewarm Avoid using potentially-under-aligned page buffers. 2018-09-01 15:27:13 -04:00
pg_standby Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
pg_stat_statements Don't try to read a multi-GB pg_stat_statements file in one call. 2021-10-31 19:13:48 -04:00
pg_trgm pg_trgm: fix crash in 2-item picksplit 2020-11-12 14:57:08 +00:00
pg_visibility Disable vacuum page skipping in selected test cases. 2021-01-20 11:49:29 -05:00
pgcrypto Reformat imath.c macro to remove -Wmisleading-indentation warnings. 2021-12-12 19:12:00 -05:00
pgrowlocks Avoid holding a directory FD open across assorted SRF calls. 2020-03-16 21:05:55 -04:00
pgstattuple pgstatindex: Insert some casts to prevent overflow. 2017-08-10 11:48:42 -04:00
postgres_fdw postgres_fdw: Fix unexpected reporting of empty message. 2021-12-03 17:37:31 +09:00
seg Make contrib modules' installation scripts more secure. 2020-08-10 10:44:43 -04:00
sepgsql Fix cache reference leak in contrib/sepgsql. 2020-04-16 14:45:54 -04:00
spi Prevent accidental linking of system-supplied copies of libpq.so etc. 2018-07-09 17:23:31 -04:00
sslinfo Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
start-scripts Provide modern examples of how to auto-start Postgres on macOS. 2017-11-17 12:47:11 -05:00
tablefunc Disallow null category in crosstab_hash 2019-12-23 13:33:50 -05:00
tcn Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
test_decoding WAL log unchanged toasted replica identity key attributes. 2022-02-14 08:45:54 +05:30
tsm_system_rows Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
tsm_system_time Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
unaccent Make contrib/unaccent's unaccent() function work when not in search path. 2018-09-06 10:49:45 -04:00
uuid-ossp Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
vacuumlo Report the true database name on connection errors 2021-01-26 16:42:13 -03:00
xml2 Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
contrib-global.mk Respect TEMP_CONFIG when pg_regress_check and friends are called 2016-02-27 12:28:21 -05:00
Makefile Add amcheck extension to contrib. 2017-03-09 16:33:02 -08: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.