-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdrop_partitions.sql
More file actions
42 lines (37 loc) · 1.24 KB
/
drop_partitions.sql
File metadata and controls
42 lines (37 loc) · 1.24 KB
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
-- Drop all partitions for CompletedJob and FailedJob tables
-- Run this script in your PostgreSQL 'jobs' database
-- Drop all CompletedJob partitions
DO $$
DECLARE
partition_name TEXT;
BEGIN
FOR partition_name IN
SELECT relid::regclass::text
FROM pg_partition_tree('"CompletedJob"'::regclass)
WHERE parentrelid IS NOT NULL
LOOP
EXECUTE 'DROP TABLE IF EXISTS ' || partition_name || ' CASCADE';
RAISE NOTICE 'Dropped partition: %', partition_name;
END LOOP;
END $$;
-- Drop all FailedJob partitions
DO $$
DECLARE
partition_name TEXT;
BEGIN
FOR partition_name IN
SELECT relid::regclass::text
FROM pg_partition_tree('"FailedJob"'::regclass)
WHERE parentrelid IS NOT NULL
LOOP
EXECUTE 'DROP TABLE IF EXISTS ' || partition_name || ' CASCADE';
RAISE NOTICE 'Dropped partition: %', partition_name;
END LOOP;
END $$;
-- Verify partitions are dropped
SELECT 'CompletedJob partitions remaining:' as info, COUNT(*) as count
FROM pg_partition_tree('"CompletedJob"'::regclass)
WHERE parentrelid IS NOT NULL;
SELECT 'FailedJob partitions remaining:' as info, COUNT(*) as count
FROM pg_partition_tree('"FailedJob"'::regclass)
WHERE parentrelid IS NOT NULL;