@@ -218,10 +218,12 @@ BEGIN
218
218
parent_rel := concat(params->>'partition_schema', '.', params->>'parent')::regclass;
219
219
220
220
-- drop "old" partitions
221
- FOR relation IN (SELECT partition FROM pathman_partition_list
222
- WHERE parent = parent_rel
223
- ORDER BY range_min::INT4 DESC
224
- OFFSET 4) -- remain 4 last partitions
221
+ FOR relation IN (SELECT partition FROM
222
+ (SELECT partition, range_min::INT4 FROM pathman_partition_list
223
+ WHERE parent = parent_rel
224
+ ORDER BY range_min::INT4 DESC
225
+ OFFSET 4) t -- remain 4 last partitions
226
+ ORDER BY range_min)
225
227
LOOP
226
228
RAISE NOTICE 'dropping partition %', relation;
227
229
PERFORM drop_range_partition(relation);
@@ -252,35 +254,167 @@ SELECT set_init_callback('callbacks.abc',
252
254
253
255
(1 row)
254
256
255
- INSERT INTO callbacks.abc VALUES (110);
256
- NOTICE: dropping partition callbacks.abc_7
257
- NOTICE: dropping partition callbacks.abc_6
258
- NOTICE: dropping partition callbacks.abc_5
259
- NOTICE: dropping partition callbacks.abc_4
260
- NOTICE: dropping partition callbacks.abc_3
261
- NOTICE: dropping partition callbacks.abc_2
257
+ INSERT INTO callbacks.abc VALUES (1000);
262
258
NOTICE: dropping partition callbacks.abc_1
263
- INSERT INTO callbacks.abc VALUES (120);
264
- INSERT INTO callbacks.abc VALUES (130);
259
+ NOTICE: dropping partition callbacks.abc_2
260
+ NOTICE: dropping partition callbacks.abc_3
261
+ NOTICE: dropping partition callbacks.abc_4
262
+ NOTICE: dropping partition callbacks.abc_5
263
+ NOTICE: dropping partition callbacks.abc_6
264
+ NOTICE: dropping partition callbacks.abc_7
265
265
NOTICE: dropping partition callbacks.abc_8
266
- INSERT INTO callbacks.abc VALUES (140);
267
266
NOTICE: dropping partition callbacks.abc_9
268
- INSERT INTO callbacks.abc VALUES (150);
269
267
NOTICE: dropping partition callbacks.abc_10
268
+ NOTICE: dropping partition callbacks.abc_11
269
+ NOTICE: dropping partition callbacks.abc_12
270
+ NOTICE: dropping partition callbacks.abc_13
271
+ NOTICE: dropping partition callbacks.abc_14
272
+ NOTICE: dropping partition callbacks.abc_15
273
+ NOTICE: dropping partition callbacks.abc_16
274
+ NOTICE: dropping partition callbacks.abc_17
275
+ NOTICE: dropping partition callbacks.abc_18
276
+ NOTICE: dropping partition callbacks.abc_19
277
+ NOTICE: dropping partition callbacks.abc_20
278
+ NOTICE: dropping partition callbacks.abc_21
279
+ NOTICE: dropping partition callbacks.abc_22
280
+ NOTICE: dropping partition callbacks.abc_23
281
+ NOTICE: dropping partition callbacks.abc_24
282
+ NOTICE: dropping partition callbacks.abc_25
283
+ NOTICE: dropping partition callbacks.abc_26
284
+ NOTICE: dropping partition callbacks.abc_27
285
+ NOTICE: dropping partition callbacks.abc_28
286
+ NOTICE: dropping partition callbacks.abc_29
287
+ NOTICE: dropping partition callbacks.abc_30
288
+ NOTICE: dropping partition callbacks.abc_31
289
+ NOTICE: dropping partition callbacks.abc_32
290
+ NOTICE: dropping partition callbacks.abc_33
291
+ NOTICE: dropping partition callbacks.abc_34
292
+ NOTICE: dropping partition callbacks.abc_35
293
+ NOTICE: dropping partition callbacks.abc_36
294
+ NOTICE: dropping partition callbacks.abc_37
295
+ NOTICE: dropping partition callbacks.abc_38
296
+ NOTICE: dropping partition callbacks.abc_39
297
+ NOTICE: dropping partition callbacks.abc_40
298
+ NOTICE: dropping partition callbacks.abc_41
299
+ NOTICE: dropping partition callbacks.abc_42
300
+ NOTICE: dropping partition callbacks.abc_43
301
+ NOTICE: dropping partition callbacks.abc_44
302
+ NOTICE: dropping partition callbacks.abc_45
303
+ NOTICE: dropping partition callbacks.abc_46
304
+ NOTICE: dropping partition callbacks.abc_47
305
+ NOTICE: dropping partition callbacks.abc_48
306
+ NOTICE: dropping partition callbacks.abc_49
307
+ NOTICE: dropping partition callbacks.abc_50
308
+ NOTICE: dropping partition callbacks.abc_51
309
+ NOTICE: dropping partition callbacks.abc_52
310
+ NOTICE: dropping partition callbacks.abc_53
311
+ NOTICE: dropping partition callbacks.abc_54
312
+ NOTICE: dropping partition callbacks.abc_55
313
+ NOTICE: dropping partition callbacks.abc_56
314
+ NOTICE: dropping partition callbacks.abc_57
315
+ NOTICE: dropping partition callbacks.abc_58
316
+ NOTICE: dropping partition callbacks.abc_59
317
+ NOTICE: dropping partition callbacks.abc_60
318
+ NOTICE: dropping partition callbacks.abc_61
319
+ NOTICE: dropping partition callbacks.abc_62
320
+ NOTICE: dropping partition callbacks.abc_63
321
+ NOTICE: dropping partition callbacks.abc_64
322
+ NOTICE: dropping partition callbacks.abc_65
323
+ NOTICE: dropping partition callbacks.abc_66
324
+ NOTICE: dropping partition callbacks.abc_67
325
+ NOTICE: dropping partition callbacks.abc_68
326
+ NOTICE: dropping partition callbacks.abc_69
327
+ NOTICE: dropping partition callbacks.abc_70
328
+ NOTICE: dropping partition callbacks.abc_71
329
+ NOTICE: dropping partition callbacks.abc_72
330
+ NOTICE: dropping partition callbacks.abc_73
331
+ NOTICE: dropping partition callbacks.abc_74
332
+ NOTICE: dropping partition callbacks.abc_75
333
+ NOTICE: dropping partition callbacks.abc_76
334
+ NOTICE: dropping partition callbacks.abc_77
335
+ NOTICE: dropping partition callbacks.abc_78
336
+ NOTICE: dropping partition callbacks.abc_79
337
+ NOTICE: dropping partition callbacks.abc_80
338
+ NOTICE: dropping partition callbacks.abc_81
339
+ NOTICE: dropping partition callbacks.abc_82
340
+ NOTICE: dropping partition callbacks.abc_83
341
+ NOTICE: dropping partition callbacks.abc_84
342
+ NOTICE: dropping partition callbacks.abc_85
343
+ NOTICE: dropping partition callbacks.abc_86
344
+ NOTICE: dropping partition callbacks.abc_87
345
+ NOTICE: dropping partition callbacks.abc_88
346
+ NOTICE: dropping partition callbacks.abc_89
347
+ NOTICE: dropping partition callbacks.abc_90
348
+ NOTICE: dropping partition callbacks.abc_91
349
+ NOTICE: dropping partition callbacks.abc_92
350
+ NOTICE: dropping partition callbacks.abc_93
351
+ NOTICE: dropping partition callbacks.abc_94
352
+ NOTICE: dropping partition callbacks.abc_95
353
+ NOTICE: dropping partition callbacks.abc_96
354
+ INSERT INTO callbacks.abc VALUES (1500);
355
+ NOTICE: dropping partition callbacks.abc_97
356
+ NOTICE: dropping partition callbacks.abc_98
357
+ NOTICE: dropping partition callbacks.abc_99
358
+ NOTICE: dropping partition callbacks.abc_100
359
+ NOTICE: dropping partition callbacks.abc_101
360
+ NOTICE: dropping partition callbacks.abc_102
361
+ NOTICE: dropping partition callbacks.abc_103
362
+ NOTICE: dropping partition callbacks.abc_104
363
+ NOTICE: dropping partition callbacks.abc_105
364
+ NOTICE: dropping partition callbacks.abc_106
365
+ NOTICE: dropping partition callbacks.abc_107
366
+ NOTICE: dropping partition callbacks.abc_108
367
+ NOTICE: dropping partition callbacks.abc_109
368
+ NOTICE: dropping partition callbacks.abc_110
369
+ NOTICE: dropping partition callbacks.abc_111
370
+ NOTICE: dropping partition callbacks.abc_112
371
+ NOTICE: dropping partition callbacks.abc_113
372
+ NOTICE: dropping partition callbacks.abc_114
373
+ NOTICE: dropping partition callbacks.abc_115
374
+ NOTICE: dropping partition callbacks.abc_116
375
+ NOTICE: dropping partition callbacks.abc_117
376
+ NOTICE: dropping partition callbacks.abc_118
377
+ NOTICE: dropping partition callbacks.abc_119
378
+ NOTICE: dropping partition callbacks.abc_120
379
+ NOTICE: dropping partition callbacks.abc_121
380
+ NOTICE: dropping partition callbacks.abc_122
381
+ NOTICE: dropping partition callbacks.abc_123
382
+ NOTICE: dropping partition callbacks.abc_124
383
+ NOTICE: dropping partition callbacks.abc_125
384
+ NOTICE: dropping partition callbacks.abc_126
385
+ NOTICE: dropping partition callbacks.abc_127
386
+ NOTICE: dropping partition callbacks.abc_128
387
+ NOTICE: dropping partition callbacks.abc_129
388
+ NOTICE: dropping partition callbacks.abc_130
389
+ NOTICE: dropping partition callbacks.abc_131
390
+ NOTICE: dropping partition callbacks.abc_132
391
+ NOTICE: dropping partition callbacks.abc_133
392
+ NOTICE: dropping partition callbacks.abc_134
393
+ NOTICE: dropping partition callbacks.abc_135
394
+ NOTICE: dropping partition callbacks.abc_136
395
+ NOTICE: dropping partition callbacks.abc_137
396
+ NOTICE: dropping partition callbacks.abc_138
397
+ NOTICE: dropping partition callbacks.abc_139
398
+ NOTICE: dropping partition callbacks.abc_140
399
+ NOTICE: dropping partition callbacks.abc_141
400
+ NOTICE: dropping partition callbacks.abc_142
401
+ NOTICE: dropping partition callbacks.abc_143
402
+ NOTICE: dropping partition callbacks.abc_144
403
+ NOTICE: dropping partition callbacks.abc_145
404
+ NOTICE: dropping partition callbacks.abc_146
270
405
SELECT * FROM pathman_partition_list
271
406
WHERE parent = 'callbacks.abc'::REGCLASS
272
407
ORDER BY range_min::INT4;
273
- parent | partition | parttype | partattr | range_min | range_max
274
- ---------------+------------------+----------+----------+-----------+-----------
275
- callbacks.abc | callbacks.abc_11 | 2 | a | 101 | 111
276
- callbacks.abc | callbacks.abc_12 | 2 | a | 111 | 121
277
- callbacks.abc | callbacks.abc_13 | 2 | a | 121 | 131
278
- callbacks.abc | callbacks.abc_14 | 2 | a | 131 | 141
279
- callbacks.abc | callbacks.abc_15 | 2 | a | 141 | 151
280
- (5 rows)
408
+ parent | partition | parttype | partattr | range_min | range_max
409
+ ---------------+-------------------+----------+----------+-----------+-----------
410
+ callbacks.abc | callbacks.abc_147 | 2 | a | 1461 | 1471
411
+ callbacks.abc | callbacks.abc_148 | 2 | a | 1471 | 1481
412
+ callbacks.abc | callbacks.abc_149 | 2 | a | 1481 | 1491
413
+ callbacks.abc | callbacks.abc_150 | 2 | a | 1491 | 1501
414
+ (4 rows)
281
415
282
416
DROP TABLE callbacks.abc CASCADE;
283
- NOTICE: drop cascades to 5 other objects
417
+ NOTICE: drop cascades to 4 other objects
284
418
DROP SCHEMA callbacks CASCADE;
285
419
NOTICE: drop cascades to 3 other objects
286
420
DROP EXTENSION pg_pathman CASCADE;
0 commit comments