1
2SELECT * FROM pglogical_regress_variables()
3\gset
4
5\c :provider_dsn
6CREATE USER super2 SUPERUSER;
7
8\c :subscriber_dsn
9SELECT * FROM pglogical.alter_node_add_interface('test_provider', 'super2', (SELECT provider_dsn FROM pglogical_regress_variables()) || ' user=super2');
10
11SELECT * FROM pglogical.alter_subscription_interface('test_subscription', 'super2');
12
13DO $$
14BEGIN
15    FOR i IN 1..100 LOOP
16        IF EXISTS (SELECT 1 FROM pglogical.show_subscription_status() WHERE status != 'down') THEN
17            EXIT;
18        END IF;
19        PERFORM pg_sleep(0.1);
20    END LOOP;
21END;$$;
22
23SELECT pg_sleep(0.1);
24SELECT subscription_name, status, provider_node, replication_sets, forward_origins FROM pglogical.show_subscription_status();
25
26\c :provider_dsn
27SELECT plugin, slot_type, active FROM pg_replication_slots;
28SELECT usename FROM pg_stat_replication WHERE application_name = 'test_subscription';
29
30\c :subscriber_dsn
31SELECT * FROM pglogical.alter_subscription_interface('test_subscription', 'test_provider');
32
33DO $$
34BEGIN
35    FOR i IN 1..100 LOOP
36        IF EXISTS (SELECT 1 FROM pglogical.show_subscription_status() WHERE status != 'down') THEN
37            EXIT;
38        END IF;
39        PERFORM pg_sleep(0.1);
40    END LOOP;
41END;$$;
42
43SELECT pg_sleep(0.1);
44SELECT subscription_name, status, provider_node, replication_sets, forward_origins FROM pglogical.show_subscription_status();
45
46\c :provider_dsn
47DROP USER super2;
48SELECT plugin, slot_type, active FROM pg_replication_slots;
49SELECT usename FROM pg_stat_replication WHERE application_name = 'test_subscription';
50