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
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 |