Имеется таблица, которая растет во времени.
Поскольку уже имеется некая инфраструктура, то принято решение
"устаревшие данные" из нее именно переносить в другую
таблицу-наследник.
то есть делаем нечто вроде того что:
WITH
"move_to" AS (
DELETE FROM
"table"
WHERE
"time" < '10 day'::interval
RETURNING
*
)
INSERT INTO "table_archive" SELECT * FROM "move_to"
где table_archive - есть INHERITS от table
Скрипт конечно переносит порциями, а не все сразу, дабы избежать
блокировок. ну это не суть.
Все красиво вроде. С одной таблицей.
а теперь есть аналогичная задачка но немного сложнее.
там есть таблица которая FOREIGN KEY имеет на нашу таблицу из которой
мы данные хотим вынести в архив.
как тут быть? тоже партицировать и выносить в архив кусками? или
как-то можно оставить в непартицированном виде (таблица сильно
разрежена)
--
. ''`. Dmitry E. Oboukhov
: :’ : email: unera@debian.org jabber://UNera@uvw.ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537