File: preseed.sql

package info (click to toggle)
pglogical 2.4.6-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,236 kB
  • sloc: ansic: 39,239; sql: 4,466; perl: 693; makefile: 210; sh: 77
file content (102 lines) | stat: -rw-r--r-- 3,781 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
-- Indirection for connection strings
CREATE OR REPLACE FUNCTION public.pglogical_regress_variables(
    OUT orig_provider_dsn text,
    OUT provider_dsn text,
    OUT provider1_dsn text,
    OUT subscriber_dsn text
    ) RETURNS record LANGUAGE SQL AS $f$
SELECT
    current_setting('pglogical.orig_provider_dsn'),
    current_setting('pglogical.provider_dsn'),
    current_setting('pglogical.provider1_dsn'),
    current_setting('pglogical.subscriber_dsn')
$f$;

SELECT * FROM pglogical_regress_variables()
\gset

/*
 * Tests to ensure that objects/data that exists pre-clone is successfully
 * cloned. The results are checked, after the clone, in preseed_check.sql.
 */
\c :provider_dsn
CREATE SEQUENCE some_local_seq;
CREATE TABLE some_local_tbl(id serial primary key, key text unique not null, data text);
INSERT INTO some_local_tbl(key, data) VALUES('key1', 'data1');
INSERT INTO some_local_tbl(key, data) VALUES('key2', NULL);
INSERT INTO some_local_tbl(key, data) VALUES('key3', 'data3');
CREATE TABLE some_local_tbl1(id serial, key text unique not null, data text);
INSERT INTO some_local_tbl1(key, data) VALUES('key1', 'data1');
INSERT INTO some_local_tbl1(key, data) VALUES('key2', NULL);
INSERT INTO some_local_tbl1(key, data) VALUES('key3', 'data3');
CREATE TABLE some_local_tbl2(id serial, key text, data text);
INSERT INTO some_local_tbl2(key, data) VALUES('key1', 'data1');
INSERT INTO some_local_tbl2(key, data) VALUES('key2', NULL);
INSERT INTO some_local_tbl2(key, data) VALUES('key3', 'data3');
CREATE TABLE some_local_tbl3(id integer, key text, data text);
INSERT INTO some_local_tbl3(key, data) VALUES('key1', 'data1');
INSERT INTO some_local_tbl3(key, data) VALUES('key2', NULL);
INSERT INTO some_local_tbl3(key, data) VALUES('key3', 'data3');

/*
 * Make sure that the pglogical_regress_variables function exists both on
 * provider and subscriber since the original connection might have been
 * to completely different database.
 */
CREATE OR REPLACE FUNCTION public.pglogical_regress_variables(
    OUT orig_provider_dsn text,
    OUT provider_dsn text,
    OUT provider1_dsn text,
    OUT subscriber_dsn text
    ) RETURNS record LANGUAGE SQL AS $f$
SELECT
    current_setting('pglogical.orig_provider_dsn'),
    current_setting('pglogical.provider_dsn'),
    current_setting('pglogical.provider1_dsn'),
    current_setting('pglogical.subscriber_dsn')
$f$;

CREATE DATABASE regression1;
CREATE DATABASE sourcedb;

\c :orig_provider_dsn
CREATE OR REPLACE FUNCTION public.pglogical_regress_variables(
    OUT orig_provider_dsn text,
    OUT provider_dsn text,
    OUT provider1_dsn text,
    OUT subscriber_dsn text
    ) RETURNS record LANGUAGE SQL AS $f$
SELECT
    current_setting('pglogical.orig_provider_dsn'),
    current_setting('pglogical.provider_dsn'),
    current_setting('pglogical.provider1_dsn'),
    current_setting('pglogical.subscriber_dsn')
$f$;

\c :provider1_dsn
CREATE OR REPLACE FUNCTION public.pglogical_regress_variables(
    OUT orig_provider_dsn text,
    OUT provider_dsn text,
    OUT provider1_dsn text,
    OUT subscriber_dsn text
    ) RETURNS record LANGUAGE SQL AS $f$
SELECT
    current_setting('pglogical.orig_provider_dsn'),
    current_setting('pglogical.provider_dsn'),
    current_setting('pglogical.provider1_dsn'),
    current_setting('pglogical.subscriber_dsn')
$f$;

\c :subscriber_dsn
CREATE OR REPLACE FUNCTION public.pglogical_regress_variables(
    OUT orig_provider_dsn text,
    OUT provider_dsn text,
    OUT provider1_dsn text,
    OUT subscriber_dsn text
    ) RETURNS record LANGUAGE SQL AS $f$
SELECT
    current_setting('pglogical.orig_provider_dsn'),
    current_setting('pglogical.provider_dsn'),
    current_setting('pglogical.provider1_dsn'),
    current_setting('pglogical.subscriber_dsn')
$f$;