You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
Новые секции добавляются автоматически при вставке новых записей в непокрытую область. Однако есть возможность добавлять секции вручную. Для этого можно воспользоваться следующими функциями:
Первая создает новую секцию с заданным диапазоном. Вторая создает новую секцию с интервалом, заданным при первоначальном разбиении, и добавляет ее в конец списка секций. Также можно присоеднинить существующую таблицу в качестве секции. Например, это может быть таблица с архивными данными, расположенная на другом сервере и подключенная с помощью fdw:
Чтобы отсоединить ранее созданную или присоединенную секцию воспользуйтесь функцией:
253
243
```
254
-
Все созданные секции и данные останутся по прежнему доступны и будут обрабатываться стандартным планировщиком PostgreSQL.
255
-
###Ручное управление секциями
256
-
Когда набора функций pg_pathman недостаточно для управления секциями, предусмотрено ручное управление. Можно создавать или удалять дочерние таблицы вручную, но после этого необходимо вызывать функцию:
244
+
SELECT detach_range_partition('journal_archive');
257
245
```
258
-
on_update_partitions(oid),
259
-
```
260
-
которая обновит внутреннее представление структуры секций в памяти pg_pathman. Например, добавим новую секцию к ранее созданной range_rel:
-> Seq Scan on journal_152 (cost=0.00..29.40 rows=0 width=0)
263
+
-> Seq Scan on journal_153 (cost=0.00..29.40 rows=0 width=0)
264
+
(3 rows)
278
265
```
279
-
Структура таблицы должна полностью совпадать с родительской.
280
266
281
-
В случае, если родительская таблица была удалена вручную с использованием инструкции DROP TABLE, необходимо удалить соответствующую строку из таблицы pathman_config и вызывать on_remove_partitions():
267
+
###Деакцивация pg_pathman
268
+
Деактивировать механизм pg_pathman для некоторой ранее разделенной таблицы можно следующей командой disable_partitioning():