Fix: Weekly partition dropping (#2066)

* fix: check weekly partitions older than a week old

* fix: logic

* chore: gen
This commit is contained in:
matt
2025-07-30 16:28:08 -04:00
committed by GitHub
parent d6f8be2c0f
commit 392483c5d8
4 changed files with 54 additions and 2 deletions
+21
View File
@@ -17,6 +17,27 @@ BEGIN
END;
$$;
CREATE OR REPLACE FUNCTION get_v1_weekly_partitions_before_date(
targetTableName text,
targetDate date
) RETURNS TABLE(partition_name text)
LANGUAGE plpgsql AS
$$
BEGIN
RETURN QUERY
SELECT
inhrelid::regclass::text AS partition_name
FROM
pg_inherits
WHERE
inhparent = targetTableName::regclass
AND substring(inhrelid::regclass::text, format('%s_(\d{8})', targetTableName)) ~ '^\d{8}'
AND (substring(inhrelid::regclass::text, format('%s_(\d{8})', targetTableName))::date) < targetDate
AND (substring(inhrelid::regclass::text, format('%s_(\d{8})', targetTableName))::date) < NOW() - INTERVAL '1 week'
;
END;
$$;
CREATE OR REPLACE FUNCTION create_v1_range_partition(
targetTableName text,
targetDate date