mirror of
https://github.com/postgres/postgres.git
synced 2025-06-14 18:42:34 +03:00
Allow to enable failover property for replication slots via SQL API.
This commit adds the failover property to the replication slot. The failover property indicates whether the slot will be synced to the standby servers, enabling the resumption of corresponding logical replication after failover. But note that this commit does not yet include the capability to sync the replication slot; the subsequent commits will add that capability. A new optional parameter 'failover' is added to the pg_create_logical_replication_slot() function. We will also enable to set 'failover' option for slots via the subscription commands in the subsequent commits. The value of the 'failover' flag is displayed as part of pg_replication_slots view. Author: Hou Zhijie, Shveta Malik, Ajin Cherian Reviewed-by: Peter Smith, Bertrand Drouvot, Dilip Kumar, Masahiko Sawada, Nisha Moond, Kuroda, Hayato, Amit Kapila Discussion: https://postgr.es/m/514f6f2f-6833-4539-39f1-96cd1e011f23@enterprisedb.com
This commit is contained in:
@ -176,3 +176,16 @@ ORDER BY o.slot_name, c.slot_name;
|
||||
SELECT pg_drop_replication_slot('orig_slot2');
|
||||
SELECT pg_drop_replication_slot('copied_slot2_no_change');
|
||||
SELECT pg_drop_replication_slot('copied_slot2_notemp');
|
||||
|
||||
-- Test failover option of slots.
|
||||
SELECT 'init' FROM pg_create_logical_replication_slot('failover_true_slot', 'test_decoding', false, false, true);
|
||||
SELECT 'init' FROM pg_create_logical_replication_slot('failover_false_slot', 'test_decoding', false, false, false);
|
||||
SELECT 'init' FROM pg_create_logical_replication_slot('failover_default_slot', 'test_decoding', false, false);
|
||||
SELECT 'init' FROM pg_create_physical_replication_slot('physical_slot');
|
||||
|
||||
SELECT slot_name, slot_type, failover FROM pg_replication_slots;
|
||||
|
||||
SELECT pg_drop_replication_slot('failover_true_slot');
|
||||
SELECT pg_drop_replication_slot('failover_false_slot');
|
||||
SELECT pg_drop_replication_slot('failover_default_slot');
|
||||
SELECT pg_drop_replication_slot('physical_slot');
|
||||
|
Reference in New Issue
Block a user