Thread: А кто работал с партицированием таблиц? FOREIGN

А кто работал с партицированием таблиц? FOREIGN

From
"Dmitry E. Oboukhov"
Date:
Имеется таблица, которая растет во времени.

Поскольку уже имеется некая инфраструктура, то принято решение
"устаревшие данные" из нее именно переносить в другую
таблицу-наследник.

то есть делаем нечто вроде того что:

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

Attachment