Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перенос партицированной таблици в другую схему / 5 сообщений из 5, страница 1 из 1
08.06.2007, 16:22
    #34584586
Алексей Ключников
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос партицированной таблици в другую схему
Собственно есть таблица
base в которой храняться записи с датчиков.
От таблицы наследуются партиции
base_1_2005, base_1_2006, base_1_2007, base_2_2005, base_2_2006,
base_2_2007 и т.д.
около 900 таблиц в них ~5Гб данных.

Надо все это добро перенести в схему arch.
Тоесть чтобы была таблица arch.base и партиции
arch.base_1_2005, arch.base_1_2006 и т.д.

В партиции данные поступают в зависимости от id датчика и времени.


Как сделать проще, попробовал через dblink
что то не просто.. select into хочет новую таблицу создавать констраинты не вытаскиваются..
Через дамп тоже не гладко..
...
Рейтинг: 0 / 0
08.06.2007, 16:47
    #34584666
Алексей Ключников
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос партицированной таблици в другую схему
Добавлю, надо скопировать таблицу, т.е.
alter table SET SCHEMA ..
тже не очень прямой путь.
...
Рейтинг: 0 / 0
10.06.2007, 22:14
    #34587530
iz
iz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос партицированной таблици в другую схему
а почему все же нельзя ALTER TABLE SET SCHEMA ?
...
Рейтинг: 0 / 0
11.06.2007, 16:09
    #34588387
Алексей Ключников
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос партицированной таблици в другую схему
В этом случае нарушится работа текущей системы.
А нужно перелить данные с рабочей системы в новую,
которая рядом строится для последующей замены старой.

В случае с alter table ... set schema ...;
потом pg_dump -n ... database
и вернуть схему назад.
Получится простой около часа. А простой делать вообще нельзя.
...
Рейтинг: 0 / 0
11.06.2007, 16:33
    #34588441
iz
iz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос партицированной таблици в другую схему
на самом деле dblink тут не нужен -- данные-то предполагается переносить в пределах одной базы, насколько я понимаю

возможно, вам может помочь CREATE TABLE ... LIKE parent_table INCLUDING CONSTRAINTS, что позволяет создать полностью аналогичную таблицу, скопировав check и not null constraints, а затем INSERT INTO ... SELECT, что физически скопирует ваши данные в новую таблицу. Но, кажется, без ручной работы полностью вам не обойтись -- я не уверен, что CREATE TABLE ... LIKE parent_table хорошо понимает наследование.

Я бы на вашем месте просто сдампил схему текущих таблиц pg_dump -s, далее бы просто заменил CREATE TABLE bla на CREATE TABLE arch.bla в любом редакторе, воссоздал бы ее в схеме arch со всем наследованием и constraint-ами и далее в цикле по таблицам с данными сделал бы INSERT ... SELECT в таблицы новой схемы.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перенос партицированной таблици в другую схему / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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