copy latest to version

pull/7540/head
icefairy 2024-03-29 18:50:58 +08:00
parent 54029f64ad
commit 7e12c7d940
2 changed files with 8 additions and 3 deletions

View File

@ -32,14 +32,18 @@ BEGIN
SELECT * SELECT *
FROM get_missing_time_partition_ranges(table_name, partition_interval, end_at, start_from) FROM get_missing_time_partition_ranges(table_name, partition_interval, end_at, start_from)
LOOP LOOP
EXECUTE format('CREATE TABLE %I.%I PARTITION OF %I.%I FOR VALUES FROM (%L) TO (%L)', EXECUTE format('CREATE TABLE %I.%I (LIKE %I INCLUDING DEFAULTS INCLUDING CONSTRAINTS)',
schema_name_text, schema_name_text,
missing_partition_record.partition_name, missing_partition_record.partition_name,
table_name_text);
EXECUTE format('ALTER TABLE %I.%I ATTACH PARTITION %I.%I FOR VALUES FROM (%L) TO (%L)',
schema_name_text, schema_name_text,
table_name_text, table_name_text,
schema_name_text,
missing_partition_record.partition_name,
missing_partition_record.range_from_value, missing_partition_record.range_from_value,
missing_partition_record.range_to_value); missing_partition_record.range_to_value);
RAISE NOTICE 'created partition % for table %', missing_partition_record.partition_name, table_name_text;
partition_created := true; partition_created := true;
END LOOP; END LOOP;

View File

@ -57,7 +57,8 @@ BEGIN
ORDER BY to_value%1$s::timestamptz', custom_cast); ORDER BY to_value%1$s::timestamptz', custom_cast);
FOR r IN EXECUTE older_partitions_query USING table_name, older_than FOR r IN EXECUTE older_partitions_query USING table_name, older_than
LOOP LOOP
RAISE NOTICE 'dropping % with start time % and end time %', r.partition, r.from_value, r.to_value; RAISE NOTICE 'dropping % with start time % and end time % using DETACH PARTITION partition_name AND THEN DROP IT. ', r.partition, r.from_value, r.to_value;
EXECUTE format('ALTER TABLE %I.%I DETACH PARTITION %I',r.schema_name, r.table_name, r.partition);
EXECUTE format('DROP TABLE %I.%I', r.schema_name, r.table_name); EXECUTE format('DROP TABLE %I.%I', r.schema_name, r.table_name);
END LOOP; END LOOP;
END; END;