1
1
\set VERBOSITY terse
2
+ CREATE SCHEMA test;
2
3
CREATE EXTENSION pathman;
3
- CREATE TABLE hash_rel (
4
+ CREATE TABLEtest. hash_rel (
4
5
id SERIAL PRIMARY KEY,
5
6
value INTEGER);
6
- SELECT create_hash_partitions('hash_rel', 'value', 3);
7
- NOTICE: trigger "hash_rel_insert_trigger" for relation "hash_rel" does not exist, skipping
8
- NOTICE: function hash_rel_hash_insert_trigger_func() does not exist, skipping
9
- NOTICE: trigger "hash_rel_update_trigger" for relation "hash_rel" does not exist, skipping
10
- NOTICE: function hash_rel_hash_update_trigger_func() does not exist, skipping
7
+ SELECT create_hash_partitions('test.hash_rel', 'value', 3);
8
+ NOTICE: trigger "test_hash_rel_insert_trigger" for relation "test.hash_rel" does not exist, skipping
9
+ NOTICE: function test.hash_rel_hash_insert_trigger_func() does not exist, skipping
11
10
create_hash_partitions
12
11
------------------------
13
12
14
13
(1 row)
15
14
16
- CREATE TABLE range_rel (
15
+ CREATE TABLEtest. range_rel (
17
16
id SERIAL PRIMARY KEY,
18
17
dt TIMESTAMP,
19
18
txt TEXT);
20
- SELECT create_range_partitions('range_rel', 'dt', '2015-01-01'::DATE, '1 month'::INTERVAL, 3);
19
+ SELECT create_range_partitions('test. range_rel', 'dt', '2015-01-01'::DATE, '1 month'::INTERVAL, 3);
21
20
NOTICE: sequence "range_rel_seq" does not exist, skipping
22
21
create_range_partitions
23
22
-------------------------
24
23
25
24
(1 row)
26
25
27
- CREATE TABLE num_range_rel (
26
+ CREATE TABLEtest. num_range_rel (
28
27
id SERIAL PRIMARY KEY,
29
28
txt TEXT);
30
- SELECT create_range_partitions('num_range_rel', 'id', 0, 1000, 3);
29
+ SELECT create_range_partitions('test. num_range_rel', 'id', 0, 1000, 3);
31
30
NOTICE: sequence "num_range_rel_seq" does not exist, skipping
32
31
create_range_partitions
33
32
-------------------------
34
33
35
34
(1 row)
36
35
37
- INSERT INTO hash_rel VALUES (1, 1);
38
- INSERT INTO hash_rel VALUES (2, 2);
39
- INSERT INTO hash_rel VALUES (3, 3);
40
- INSERT INTO hash_rel VALUES (4, 4);
41
- INSERT INTO hash_rel VALUES (5, 5);
42
- INSERT INTO hash_rel VALUES (6, 6);
43
- INSERT INTO num_range_rel SELECT g, md5(g::TEXT) FROM generate_series(1, 3000) as g;
36
+ INSERT INTOtest. hash_rel VALUES (1, 1);
37
+ INSERT INTOtest. hash_rel VALUES (2, 2);
38
+ INSERT INTOtest. hash_rel VALUES (3, 3);
39
+ INSERT INTOtest. hash_rel VALUES (4, 4);
40
+ INSERT INTOtest. hash_rel VALUES (5, 5);
41
+ INSERT INTOtest. hash_rel VALUES (6, 6);
42
+ INSERT INTOtest. num_range_rel SELECT g, md5(g::TEXT) FROM generate_series(1, 3000) as g;
44
43
VACUUM;
45
44
SET enable_indexscan = OFF;
46
45
SET enable_bitmapscan = OFF;
47
46
SET enable_seqscan = ON;
48
- EXPLAIN (COSTS OFF) SELECT * FROM hash_rel;
47
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. hash_rel;
49
48
QUERY PLAN
50
49
------------------------------
51
50
Append
@@ -54,15 +53,15 @@ EXPLAIN (COSTS OFF) SELECT * FROM hash_rel;
54
53
-> Seq Scan on hash_rel_2
55
54
(4 rows)
56
55
57
- EXPLAIN (COSTS OFF) SELECT * FROM hash_rel WHERE value = 2;
56
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. hash_rel WHERE value = 2;
58
57
QUERY PLAN
59
58
------------------------------
60
59
Append
61
60
-> Seq Scan on hash_rel_2
62
61
Filter: (value = 2)
63
62
(3 rows)
64
63
65
- EXPLAIN (COSTS OFF) SELECT * FROM hash_rel WHERE value = 2 OR value = 1;
64
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. hash_rel WHERE value = 2 OR value = 1;
66
65
QUERY PLAN
67
66
------------------------------
68
67
Append
@@ -72,7 +71,7 @@ EXPLAIN (COSTS OFF) SELECT * FROM hash_rel WHERE value = 2 OR value = 1;
72
71
Filter: (value = 2)
73
72
(5 rows)
74
73
75
- EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE id > 2500;
74
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. num_range_rel WHERE id > 2500;
76
75
QUERY PLAN
77
76
-----------------------------------
78
77
Append
@@ -81,15 +80,15 @@ EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE id > 2500;
81
80
-> Seq Scan on num_range_rel_4
82
81
(4 rows)
83
82
84
- EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE id >= 1000 AND id < 3000;
83
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. num_range_rel WHERE id >= 1000 AND id < 3000;
85
84
QUERY PLAN
86
85
-----------------------------------
87
86
Append
88
87
-> Seq Scan on num_range_rel_2
89
88
-> Seq Scan on num_range_rel_3
90
89
(3 rows)
91
90
92
- EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE id >= 1500 AND id < 2500;
91
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. num_range_rel WHERE id >= 1500 AND id < 2500;
93
92
QUERY PLAN
94
93
-----------------------------------
95
94
Append
@@ -99,7 +98,7 @@ EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE id >= 1500 AND id < 2500;
99
98
Filter: (id < 2500)
100
99
(5 rows)
101
100
102
- EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE (id >= 500 AND id < 1500) OR (id > 2500);
101
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. num_range_rel WHERE (id >= 500 AND id < 1500) OR (id > 2500);
103
102
QUERY PLAN
104
103
-----------------------------------
105
104
Append
@@ -115,7 +114,7 @@ EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE (id >= 500 AND id < 1500)
115
114
SET enable_indexscan = ON;
116
115
SET enable_bitmapscan = OFF;
117
116
SET enable_seqscan = OFF;
118
- EXPLAIN (COSTS OFF) SELECT * FROM hash_rel;
117
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. hash_rel;
119
118
QUERY PLAN
120
119
------------------------------
121
120
Append
@@ -124,15 +123,15 @@ EXPLAIN (COSTS OFF) SELECT * FROM hash_rel;
124
123
-> Seq Scan on hash_rel_2
125
124
(4 rows)
126
125
127
- EXPLAIN (COSTS OFF) SELECT * FROM hash_rel WHERE value = 2;
126
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. hash_rel WHERE value = 2;
128
127
QUERY PLAN
129
128
------------------------------
130
129
Append
131
130
-> Seq Scan on hash_rel_2
132
131
Filter: (value = 2)
133
132
(3 rows)
134
133
135
- EXPLAIN (COSTS OFF) SELECT * FROM hash_rel WHERE value = 2 OR value = 1;
134
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. hash_rel WHERE value = 2 OR value = 1;
136
135
QUERY PLAN
137
136
------------------------------
138
137
Append
@@ -142,7 +141,7 @@ EXPLAIN (COSTS OFF) SELECT * FROM hash_rel WHERE value = 2 OR value = 1;
142
141
Filter: (value = 2)
143
142
(5 rows)
144
143
145
- EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE id > 2500;
144
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. num_range_rel WHERE id > 2500;
146
145
QUERY PLAN
147
146
----------------------------------------------------------------
148
147
Append
@@ -151,15 +150,15 @@ EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE id > 2500;
151
150
-> Seq Scan on num_range_rel_4
152
151
(4 rows)
153
152
154
- EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE id >= 1000 AND id < 3000;
153
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. num_range_rel WHERE id >= 1000 AND id < 3000;
155
154
QUERY PLAN
156
155
-----------------------------------
157
156
Append
158
157
-> Seq Scan on num_range_rel_2
159
158
-> Seq Scan on num_range_rel_3
160
159
(3 rows)
161
160
162
- EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE id >= 1500 AND id < 2500;
161
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. num_range_rel WHERE id >= 1500 AND id < 2500;
163
162
QUERY PLAN
164
163
----------------------------------------------------------------
165
164
Append
@@ -169,7 +168,7 @@ EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE id >= 1500 AND id < 2500;
169
168
Index Cond: (id < 2500)
170
169
(5 rows)
171
170
172
- EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE (id >= 500 AND id < 1500) OR (id > 2500);
171
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. num_range_rel WHERE (id >= 500 AND id < 1500) OR (id > 2500);
173
172
QUERY PLAN
174
173
----------------------------------------------------------------
175
174
Append
@@ -186,7 +185,7 @@ EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE (id >= 500 AND id < 1500)
186
185
* Test split and merge
187
186
*/
188
187
/* Split first partition in half */
189
- SELECT split_range_partition('num_range_rel_1', 500);
188
+ SELECT split_range_partition('test. num_range_rel_1', 500);
190
189
NOTICE: Creating new partition...
191
190
NOTICE: Copying data to new partition...
192
191
NOTICE: Altering original partition...
@@ -196,7 +195,7 @@ NOTICE: Done!
196
195
{0,1000}
197
196
(1 row)
198
197
199
- EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE id BETWEEN 100 AND 700;
198
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. num_range_rel WHERE id BETWEEN 100 AND 700;
200
199
QUERY PLAN
201
200
----------------------------------------------------------------
202
201
Append
@@ -206,7 +205,7 @@ EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE id BETWEEN 100 AND 700;
206
205
Index Cond: (id <= 700)
207
206
(5 rows)
208
207
209
- SELECT split_range_partition('range_rel_1', '2015-01-15'::DATE);
208
+ SELECT split_range_partition('test. range_rel_1', '2015-01-15'::DATE);
210
209
NOTICE: Creating new partition...
211
210
NOTICE: Copying data to new partition...
212
211
NOTICE: Altering original partition...
@@ -217,7 +216,7 @@ NOTICE: Done!
217
216
(1 row)
218
217
219
218
/* Merge two partitions into one */
220
- SELECT merge_range_partitions('num_range_rel_1', 'num_range_rel_' || currval('num_range_rel_seq'));
219
+ SELECT merge_range_partitions('test. num_range_rel_1', 'test. num_range_rel_' || currval('test. num_range_rel_seq'));
221
220
NOTICE: Altering first partition...
222
221
NOTICE: Copying data...
223
222
NOTICE: Dropping second partition...
@@ -227,15 +226,15 @@ NOTICE: Done!
227
226
228
227
(1 row)
229
228
230
- EXPLAIN (COSTS OFF) SELECT * FROM num_range_rel WHERE id BETWEEN 100 AND 700;
229
+ EXPLAIN (COSTS OFF) SELECT * FROMtest. num_range_rel WHERE id BETWEEN 100 AND 700;
231
230
QUERY PLAN
232
231
----------------------------------------------------------------
233
232
Append
234
233
-> Index Scan using num_range_rel_1_pkey on num_range_rel_1
235
234
Index Cond: ((id >= 100) AND (id <= 700))
236
235
(3 rows)
237
236
238
- SELECT merge_range_partitions('range_rel_1', 'range_rel_' || currval('range_rel_seq'));
237
+ SELECT merge_range_partitions('test. range_rel_1', 'test. range_rel_' || currval('test. range_rel_seq'));
239
238
NOTICE: Altering first partition...
240
239
NOTICE: Copying data...
241
240
NOTICE: Dropping second partition...
@@ -246,31 +245,31 @@ NOTICE: Done!
246
245
(1 row)
247
246
248
247
/* Append and prepend partitions */
249
- SELECT append_partition('num_range_rel');
248
+ SELECT append_partition('test. num_range_rel');
250
249
NOTICE: Appending new partition...
251
250
NOTICE: Done!
252
251
append_partition
253
252
------------------
254
253
255
254
(1 row)
256
255
257
- SELECT prepend_partition('num_range_rel');
256
+ SELECT prepend_partition('test. num_range_rel');
258
257
NOTICE: Prepending new partition...
259
258
NOTICE: Done!
260
259
prepend_partition
261
260
-------------------
262
261
263
262
(1 row)
264
263
265
- SELECT append_partition('range_rel');
264
+ SELECT append_partition('test. range_rel');
266
265
NOTICE: Appending new partition...
267
266
NOTICE: Done!
268
267
append_partition
269
268
------------------
270
269
271
270
(1 row)
272
271
273
- SELECT prepend_partition('range_rel');
272
+ SELECT prepend_partition('test. range_rel');
274
273
NOTICE: Prepending new partition...
275
274
NOTICE: Done!
276
275
prepend_partition
@@ -281,21 +280,20 @@ NOTICE: Done!
281
280
/*
282
281
* Clean up
283
282
*/
284
- SELECT drop_hash_partitions('hash_rel');
285
- NOTICE: trigger "hash_rel_update_trigger" for relation "hash_rel" does not exist, skipping
286
- NOTICE: function hash_rel_hash_update_trigger_func() does not exist, skipping
283
+ SELECT drop_hash_partitions('test.hash_rel');
287
284
drop_hash_partitions
288
285
----------------------
289
286
290
287
(1 row)
291
288
292
- DROP TABLE hash_rel CASCADE;
289
+ DROP TABLEtest. hash_rel CASCADE;
293
290
NOTICE: drop cascades to 3 other objects
294
- SELECT drop_range_partitions('num_range_rel');
291
+ SELECT drop_range_partitions('test. num_range_rel');
295
292
drop_range_partitions
296
293
-----------------------
297
294
298
295
(1 row)
299
296
300
- DROP TABLE num_range_rel CASCADE;
297
+ DROP TABLE test.num_range_rel CASCADE;
298
+ NOTICE: drop cascades to 6 other objects
301
299
DROP EXTENSION pathman;