Logical decoding of TRUNCATE
authorPeter Eisentraut <peter_e@gmx.net>
Sat, 7 Apr 2018 15:17:56 +0000 (11:17 -0400)
committerPeter Eisentraut <peter_e@gmx.net>
Sat, 7 Apr 2018 15:34:10 +0000 (11:34 -0400)
commit5dfd1e5a6696b271a2cdee54143fbc209c88c02f
tree9654f50fe72c84d737ad8edb4cdde339a4b36dcc
parentb508a56f2f3a2d850e75a14661943d6b4dde8274
Logical decoding of TRUNCATE

Add a new WAL record type for TRUNCATE, which is only used when
wal_level >= logical.  (For physical replication, TRUNCATE is already
replicated via SMGR records.)  Add new callback for logical decoding
output plugins to receive TRUNCATE actions.

Author: Simon Riggs <simon@2ndquadrant.com>
Author: Marco Nenciarini <marco.nenciarini@2ndquadrant.it>
Author: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Reviewed-by: Petr Jelinek <petr.jelinek@2ndquadrant.com>
Reviewed-by: Andres Freund <andres@anarazel.de>
Reviewed-by: Alvaro Herrera <alvherre@alvh.no-ip.org>
15 files changed:
contrib/test_decoding/Makefile
contrib/test_decoding/expected/truncate.out [new file with mode: 0644]
contrib/test_decoding/sql/truncate.sql [new file with mode: 0644]
contrib/test_decoding/test_decoding.c
doc/src/sgml/logicaldecoding.sgml
src/backend/access/heap/heapam.c
src/backend/access/rmgrdesc/heapdesc.c
src/backend/commands/tablecmds.c
src/backend/replication/logical/decode.c
src/backend/replication/logical/logical.c
src/backend/replication/logical/reorderbuffer.c
src/include/access/heapam_xlog.h
src/include/commands/tablecmds.h
src/include/replication/output_plugin.h
src/include/replication/reorderbuffer.h