· 8 years ago · Jul 28, 2018, 09:12 AM
1--
2
3CREATE EXTENSION IF NOT EXISTS postgis;
4CREATE EXTENSION IF NOT EXISTS ltree;
5CREATE EXTENSION IF NOT EXISTS intarray;
6CREATE EXTENSION IF NOT EXISTS hstore;
7CREATE EXTENSION IF NOT EXISTS unaccent;
8CREATE EXTENSION IF NOT EXISTS pgcrypto;
9
10CREATE SCHEMA IF NOT EXISTS itscaro;
11
12CREATE DOMAIN public.tag3level AS ltree
13 constraint tag3level_check CHECK (public.nlevel(VALUE) = 3);
14
15CREATE OR REPLACE FUNCTION public.is_valid_array_tag3level(ltree[])
16 RETURNS boolean AS
17$BODY$
18
19 SELECT NOT EXISTS (
20 SELECT 1
21 FROM unnest ($1) tag
22 WHERE tag operator(public.<>) tag::public.tag3level
23 )
24
25$BODY$
26 LANGUAGE sql IMMUTABLE STRICT;
27
28CREATE DOMAIN tag3level_array AS ltree[] CHECK ((public.is_valid_array_tag3level(VALUE)));
29
30CREATE TABLE IF NOT EXISTS itscaro.test
31(
32 id int,
33 tag public.tag3level_array DEFAULT '{}'
34);
35
36insert into itscaro.test values (2, '{{test1.test2.test3}');
37-- initial data copy is done correctly
38
39-- Pub/Sub
40
41-- Master
42CREATE PUBLICATION itscaro_test
43 FOR TABLE itscaro.test;
44
45-- Slave
46-- On slave as this moment we have all domains, functions, extensions and testing table
47CREATE SUBSCRIPTION itscaro_test
48 CONNECTION 'postgresql://postgres@<FILL IN MASTER IP>/postgres'
49 PUBLICATION itscaro_test;
50
51-- Data
52
53insert into itscaro.test values (2, '{tefghjfgqst.qdqsdsq.qdqsdgfjhfghqs}'),
54(3, '{teqghjghjgfst.qdqsdsq.qdqsdqssqdqsdqsd}'),
55(4, '{tjgfjhghjgfjheqst.qdqqsdqsdjghjdsdsq.qdqsdqsqsdqsdqs}'),
56(5, '{teqsqsdqsdqsdqsdqs.qdqsdsq.qdqsqsddazfdgfdhgfjhgfjhgdqs}'),
57(6, '{teqdqqsdqsdqsdqsdqsst.qdqsdsq.qdqsdqs}'),
58(7, '{teqst.qdqsdsq.qdqsdqsdqsdqsdqsdqsqs}'),
59(8, '{teqsdqsdqssazdazdqdqsdqsdsqdqsdqst.qdqsdsq.qdqsdsdsqdqsdqsqs}'),
60(9, '{teqqsdqsdqsdqsdqsdqsdqsdqsdqsst.qdqsdsq.qdqsdqsdqsdqsdqsqs}');
61
62--
63
64-- After executing the insert batch on master, failure occurs on slave
65--
66-- 2018-07-28 10:46:05.230 CEST [3132] LOG: database system is ready to accept connections
67-- 2018-07-28 10:46:05.240 CEST [3705] LOG: logical replication apply worker for subscription "itscaro_test" has started
68-- 2018-07-28 10:46:05.269 CEST [3132] LOG: worker process: logical replication worker for subscription 275990 (PID 3705) was terminated by signal 11: Segmentation fault
69-- 2018-07-28 10:46:05.269 CEST [3132] LOG: terminating any other active server processes
70-- 2018-07-28 10:46:05.274 CEST [3702] WARNING: terminating connection because of crash of another server process