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

From: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: А кто работал с партицированием таблиц? FOREIGN
Date: 2012-04-08 21:23:17
Message-ID: 20120408212317.GR21770@apache.rbscorp.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

Имеется таблица, которая растет во времени.

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

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

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(at)debian(dot)org jabber://UNera(at)uvw(dot)ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537

Browse pgsql-ru-general by date

  From Date Subject
Next Message Dmitry E. Oboukhov 2012-04-13 09:05:03 аггрегатор по аггрегаторам
Previous Message Alexey Borzov 2012-04-03 13:38:07 Re: SELECT COUNT(*) FROM table