mirror of
https://github.com/postgres/postgres.git
synced 2025-04-22 23:02:54 +03:00
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>
26 lines
738 B
Plaintext
26 lines
738 B
Plaintext
SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
|
|
?column?
|
|
----------
|
|
init
|
|
(1 row)
|
|
|
|
CREATE TABLE tab1 (id serial unique, data int);
|
|
CREATE TABLE tab2 (a int primary key, b int);
|
|
TRUNCATE tab1;
|
|
TRUNCATE tab1, tab1 RESTART IDENTITY CASCADE;
|
|
TRUNCATE tab1, tab2;
|
|
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
|
|
data
|
|
------------------------------------------------------
|
|
BEGIN
|
|
table public.tab1: TRUNCATE: (no-flags)
|
|
COMMIT
|
|
BEGIN
|
|
table public.tab1: TRUNCATE: restart_seqs cascade
|
|
COMMIT
|
|
BEGIN
|
|
table public.tab1, public.tab2: TRUNCATE: (no-flags)
|
|
COMMIT
|
|
(9 rows)
|
|
|