postgresql/src/include/replication
Amit Kapila d7eb52d718 Execute invalidation messages for each XLOG_XACT_INVALIDATIONS message
during logical decoding.

Prior to commit c55040ccd0 we have no way of knowing the invalidations
before commit. So, while decoding we use to execute all the invalidations
at each command end as we had no way of knowing which invalidations
happened before that command. Due to this, transactions involving large
amounts of DDLs use to take more time and also lead to high CPU usage. But
now we know specific invalidations at each command end so we execute only
required invalidations.

It has been observed that decoding of a transaction containing truncation
of a table with 1000 partitions would be finished in 1s whereas before
this patch it used to take 4-5 minutes.

Author: Dilip Kumar
Reviewed-by: Amit Kapila and Keisuke Kuroda
Discussion: https://postgr.es/m/CANDwggKYveEtXjXjqHA6RL3AKSHMsQyfRY6bK+NqhAWJyw8psQ@mail.gmail.com
2020-10-15 08:17:51 +05:30
..
backup_manifest.h Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
basebackup.h Don't export basebackup.c's sendTablespace(). 2020-06-17 10:57:34 -04:00
decode.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
logical.h Track statistics for spilling of changes from ReorderBuffer. 2020-10-08 09:09:08 +05:30
logicallauncher.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
logicalproto.h Fix the logical replication from HEAD to lower versions. 2020-09-26 10:13:51 +05:30
logicalrelation.h Fix bogus cache-invalidation logic in logical replication worker. 2020-09-16 12:07:31 -04:00
logicalworker.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
message.h Print WAL logical message contents in pg_waldump 2020-09-10 19:37:02 -03:00
origin.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
output_plugin.h Extend the logical decoding output plugin API with stream methods. 2020-07-28 08:09:44 +05:30
pgoutput.h Allow logical replication to transfer data in binary format. 2020-07-18 12:44:51 -04:00
reorderbuffer.h Execute invalidation messages for each XLOG_XACT_INVALIDATIONS message 2020-10-15 08:17:51 +05:30
slot.h Track statistics for spilling of changes from ReorderBuffer. 2020-10-08 09:09:08 +05:30
snapbuild.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
syncrep.h Fix race conditions in synchronous standby management. 2020-04-18 14:02:44 -04:00
walreceiver.h Add support for streaming to built-in logical replication. 2020-09-03 07:54:07 +05:30
walsender.h Generate backup manifests for base backups, and validate them. 2020-04-03 15:05:59 -04:00
walsender_private.h Revert "Track statistics for spilling of changes from ReorderBuffer". 2020-07-13 08:53:23 +05:30
worker_internal.h Fix replication/worker_internal.h to compile without other headers. 2020-07-18 14:58:18 -04:00