1
-- test that we can insert the result of a get_changes call into a
2
-- logged relation. That's really not a good idea in practical terms,
3
-- but provides a nice test.
6
SET synchronous_commit = on;
8
SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
11
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
13
-- create some changes
14
CREATE TABLE somechange(id serial primary key);
15
INSERT INTO somechange DEFAULT VALUES;
17
CREATE TABLE changeresult AS
18
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
20
SELECT * FROM changeresult;
22
INSERT INTO changeresult
23
SELECT data FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
24
INSERT INTO changeresult
25
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
27
SELECT * FROM changeresult;
28
DROP TABLE changeresult;
29
DROP TABLE somechange;
30
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
31
SELECT 'stop' FROM pg_drop_replication_slot('regression_slot');