powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / вопрос по работе с партициями
5 сообщений из 5, страница 1 из 1
вопрос по работе с партициями
    #39030795
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация следующая:

Есть партиционированная таблица, каждый день к ней добавляется новая партиция.
Принцип следующий: архивная партиция (все данные старше недели) и 7 партиций за последние 7 дней.

Хочется, чтобы при добавлении партиции последняя неархивная была удалена, а данные из нее перенесены в архивную партицию.

Как я это сейчас делаю - вывожу таблицу из наследования, меняю check constraint (+1 день к дате), потом insert из выведенной таблицы в архивную партицию, drop table

Есть проблема - при таком режиме работы в процессе "вывожу таблицу из наследования, меняю check constraint (+1 день к дате), потом insert из выведенной таблицы в архивную партицию, drop table" данные из этой партиции недоступны до завершения копирования.

Как этого избежать?
...
Рейтинг: 0 / 0
вопрос по работе с партициями
    #39030975
Oleg Bartunov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79,

Рекомендую почитать http://www.keithf4.com/tag/pg_partman/
...
Рейтинг: 0 / 0
вопрос по работе с партициями
    #39031188
Кактуз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79,

не нужно копировать данные, просто измените наследование
Код: sql
1.
2.
3.
4.
begin;
ALTER TABLE data_20150101 NO INHERIT data;
ALTER TABLE data_20150101 INHERIT data_archive;
commit;
...
Рейтинг: 0 / 0
вопрос по работе с партициями
    #39033922
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КактузArm79,

не нужно копировать данные, просто измените наследование
Код: sql
1.
2.
3.
4.
begin;
ALTER TABLE data_20150101 NO INHERIT data;
ALTER TABLE data_20150101 INHERIT data_archive;
commit;


Хм.. интересное решение, но тут есть вопрос. Это получится, что в архиве будет за несколько лет несколько сот наследников? Это нормально?
...
Рейтинг: 0 / 0
вопрос по работе с партициями
    #39033992
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79КактузArm79,

не нужно копировать данные, просто измените наследование
Код: sql
1.
2.
3.
4.
begin;
ALTER TABLE data_20150101 NO INHERIT data;
ALTER TABLE data_20150101 INHERIT data_archive;
commit;


Хм.. интересное решение, но тут есть вопрос. Это получится, что в архиве будет за несколько лет несколько сот наследников? Это нормально?
не очень. Планировщик тупить будет
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / вопрос по работе с партициями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]