@@ -218,10 +218,12 @@ BEGIN
218218 parent_rel := concat(params->>'partition_schema', '.', params->>'parent')::regclass;
219219
220220 -- 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)
225227 LOOP
226228 RAISE NOTICE 'dropping partition %', relation;
227229 PERFORM drop_range_partition(relation);
@@ -252,35 +254,167 @@ SELECT set_init_callback('callbacks.abc',
252254
253255(1 row)
254256
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);
262258NOTICE: 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
265265NOTICE: dropping partition callbacks.abc_8
266- INSERT INTO callbacks.abc VALUES (140);
267266NOTICE: dropping partition callbacks.abc_9
268- INSERT INTO callbacks.abc VALUES (150);
269267NOTICE: 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
270405SELECT * FROM pathman_partition_list
271406WHERE parent = 'callbacks.abc'::REGCLASS
272407ORDER 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)
281415
282416DROP TABLE callbacks.abc CASCADE;
283- NOTICE: drop cascades to 5 other objects
417+ NOTICE: drop cascades to 4 other objects
284418DROP SCHEMA callbacks CASCADE;
285419NOTICE: drop cascades to 3 other objects
286420DROP EXTENSION pg_pathman CASCADE;
0 commit comments