mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-08-29 02:57:18 +02:00
Commit 0da92dc530
improved the logical decoding infrastructure to handle
sequences, and did various changes to related parts (WAL logging etc.).
But it did not include any implementation of the new callbacks added to
OutputPluginCallbacks.
This extends test_decoding with two callbacks to decode sequences. The
decoding of sequences may be disabled using 'include-sequences', a new
option of the output plugin.
Author: Tomas Vondra, Cary Huang
Reviewed-by: Peter Eisentraut, Hannu Krosing, Andres Freund
Discussion: https://postgr.es/m/d045f3c2-6cfb-06d3-5540-e63c320df8bc@enterprisedb.com
Discussion: https://postgr.es/m/1710ed7e13b.cd7177461430746.3372264562543607781@highgo.ca
34 lines
928 B
Plaintext
34 lines
928 B
Plaintext
-- predictability
|
|
SET synchronous_commit = on;
|
|
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', 'include-sequences', '0');
|
|
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)
|
|
|
|
SELECT pg_drop_replication_slot('regression_slot');
|
|
pg_drop_replication_slot
|
|
--------------------------
|
|
|
|
(1 row)
|
|
|