? ( к примеру из дней превратить в месяцы).
Кейс видится так:
1. Создаю таблицу для дат в месяце.
2. Перегоняю туда данные по проверке на день.
3. Прицепляю новую таблицу к партиции.
4. Удаляю старые партиции по дням.
Может есть какой то инструментарий для "автоматизации" ?
А данные там (в этих месяцах) обновляются или только читаются? В любом случае, попробуйте посмотреть на pg_partman.
partman чем поможет ? он лишь автоматизирует дальнейшее секционирование. Данные из таблиц могут и читаться и обновляться, вот в этом "соль".
Хмм... а его документацию Вы читали? Ну вот https://github.com/pgpartman/pg_partman/blob/master/doc/pg_partman_howto_native.md#undoing-native-partitioning , например? И Вам не пришло в голову, что оттуда, по крайней мере, можно "сдирать" код того, что Вам нужно, большими отлаженными (протестированными на практике) кусками? ;)
ну а чем это отличается от кейса, который я описывал по шагам ?
Тем, что Ваш "кейс" описан невнятно, и там на каждом шаге можно "попасть" на длительные блокировки / deadlocks (а то и дублирование данных в запросах, если "постараться"), если не делать всё осторожно/правильно, например (так, как это делает pg_partman )?
Обсуждают сегодня