1CREATE FUNCTION pglogical.alter_node_add_interface(node_name name, interface_name name, dsn text) 2RETURNS oid STRICT VOLATILE LANGUAGE c AS 'MODULE_PATHNAME', 'pglogical_alter_node_add_interface'; 3CREATE FUNCTION pglogical.alter_node_drop_interface(node_name name, interface_name name) 4RETURNS boolean STRICT VOLATILE LANGUAGE c AS 'MODULE_PATHNAME', 'pglogical_alter_node_drop_interface'; 5 6CREATE FUNCTION pglogical.alter_subscription_interface(subscription_name name, interface_name name) 7RETURNS boolean STRICT VOLATILE LANGUAGE c AS 'MODULE_PATHNAME', 'pglogical_alter_subscription_interface'; 8 9DROP FUNCTION pglogical.replicate_ddl_command(command text); 10CREATE OR REPLACE FUNCTION pglogical.replicate_ddl_command(command text, replication_sets text[] DEFAULT '{ddl_sql}') 11RETURNS boolean STRICT VOLATILE LANGUAGE c AS 'MODULE_PATHNAME', 'pglogical_replicate_ddl_command'; 12 13DROP VIEW pglogical.TABLES; 14ALTER TABLE pglogical.replication_set_table RENAME TO replication_set_relation; 15ALTER TABLE pglogical.replication_set_relation ALTER COLUMN set_id TYPE oid; 16 17CREATE TABLE pglogical.sequence_state ( 18 seqoid oid NOT NULL PRIMARY KEY, 19 cache_size integer NOT NULL, 20 last_value bigint NOT NULL 21) WITH (user_catalog_table=true); 22 23CREATE OR REPLACE VIEW pglogical.TABLES AS 24 WITH set_relations AS ( 25 SELECT s.set_name, r.set_reloid 26 FROM pglogical.replication_set_relation r, 27 pglogical.replication_set s, 28 pglogical.local_node n 29 WHERE s.set_nodeid = n.node_id 30 AND s.set_id = r.set_id 31 ), 32 user_tables AS ( 33 SELECT r.oid, n.nspname, r.relname, r.relreplident 34 FROM pg_catalog.pg_class r, 35 pg_catalog.pg_namespace n 36 WHERE r.relkind = 'r' 37 AND r.relpersistence = 'p' 38 AND n.oid = r.relnamespace 39 AND n.nspname !~ '^pg_' 40 AND n.nspname != 'information_schema' 41 AND n.nspname != 'pglogical' 42 ) 43 SELECT n.nspname, r.relname, s.set_name 44 FROM pg_catalog.pg_namespace n, 45 pg_catalog.pg_class r, 46 set_relations s 47 WHERE r.relkind = 'r' 48 AND n.oid = r.relnamespace 49 AND r.oid = s.set_reloid 50 UNION 51 SELECT t.nspname, t.relname, NULL 52 FROM user_tables t 53 WHERE t.oid NOT IN (SELECT set_reloid FROM set_relations); 54 55CREATE FUNCTION pglogical.replication_set_add_sequence(set_name name, relation regclass, synchronize_data boolean DEFAULT false) 56RETURNS boolean STRICT VOLATILE LANGUAGE c AS 'MODULE_PATHNAME', 'pglogical_replication_set_add_sequence'; 57CREATE FUNCTION pglogical.replication_set_add_all_sequences(set_name name, schema_names text[], synchronize_data boolean DEFAULT false) 58RETURNS boolean STRICT VOLATILE LANGUAGE c AS 'MODULE_PATHNAME', 'pglogical_replication_set_add_all_sequences'; 59CREATE FUNCTION pglogical.replication_set_remove_sequence(set_name name, relation regclass) 60RETURNS boolean STRICT VOLATILE LANGUAGE c AS 'MODULE_PATHNAME', 'pglogical_replication_set_remove_sequence'; 61 62CREATE FUNCTION pglogical.synchronize_sequence(relation regclass) 63RETURNS boolean STRICT VOLATILE LANGUAGE c AS 'MODULE_PATHNAME', 'pglogical_synchronize_sequence'; 64 65ALTER EVENT TRIGGER pglogical_truncate_trigger_add ENABLE ALWAYS; 66ALTER EVENT TRIGGER pglogical_dependency_check_trigger ENABLE ALWAYS; 67 68DROP FUNCTION pglogical.create_subscription(subscription_name name, provider_dsn text, 69 replication_sets text[], synchronize_structure boolean, synchronize_data boolean, forward_origins text[]); 70CREATE FUNCTION pglogical.create_subscription(subscription_name name, provider_dsn text, 71 replication_sets text[] = '{default,default_insert_only,ddl_sql}', synchronize_structure boolean = false, 72 synchronize_data boolean = true, forward_origins text[] = '{all}') 73RETURNS oid STRICT VOLATILE LANGUAGE c AS 'MODULE_PATHNAME', 'pglogical_create_subscription'; 74 75DROP FUNCTION pglogical.replication_set_add_table(set_name name, relation regclass, synchronize boolean); 76CREATE FUNCTION pglogical.replication_set_add_table(set_name name, relation regclass, synchronize_data boolean DEFAULT false) 77RETURNS boolean STRICT VOLATILE LANGUAGE c AS 'MODULE_PATHNAME', 'pglogical_replication_set_add_table'; 78 79DROP FUNCTION pglogical.replication_set_add_all_tables(set_name name, schema_names text[], synchronize boolean); 80CREATE FUNCTION pglogical.replication_set_add_all_tables(set_name name, schema_names text[], synchronize_data boolean DEFAULT false) 81RETURNS boolean STRICT VOLATILE LANGUAGE c AS 'MODULE_PATHNAME', 'pglogical_replication_set_add_all_tables'; 82