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
Copy file name to clipboardExpand all lines: contrib/pathman/README.md
+9-1Lines changed: 9 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -75,11 +75,19 @@ create_range_partitions(
75
75
```
76
76
Same as above but suitable for `DATE` and `TIMESTAMP` partitioning keys.
77
77
78
-
### Data migration
78
+
### Utilities
79
79
```
80
80
partition_data(parent text)
81
81
```
82
82
Copies data from parent table to its partitions.
83
+
```
84
+
create_hash_update_trigger(parent TEXT)
85
+
```
86
+
Creates the trigger on UPDATE for HASH partitions. The UPDATE trigger isn't created by default because of overhead. It is useful in cases when key attribute could be changed.
Выполняет HASH-секционирование таблицы `relation` по целочисленному полю `attribute`. Создает `partitions_count` дочерних секций, а также триггер на вставку. Данные из родительской таблицы не копируются автоматически в дочерние. Миграцию данных можно выполнить с помощью функции `partition_data()` (см. ниже), либо вручную.
60
60
61
61
```
62
-
CREATE FUNCTION create_range_partitions(
62
+
create_range_partitions(
63
63
relation TEXT,
64
64
attribute TEXT,
65
65
start_value ANYELEMENT,
@@ -68,7 +68,7 @@ CREATE FUNCTION create_range_partitions(
68
68
```
69
69
Выполняет RANGE-секционирование таблицы `relation` по полю `attribute`. Аргумент `start_value` задает начальное значение, `interval` -- диапазон значений внутри одной секции, `premake` -- количество заранее создаваемых секций (если 0, то будет создана единственная секция).
70
70
```
71
-
CREATE FUNCTION create_range_partitions(
71
+
create_range_partitions(
72
72
relation TEXT,
73
73
attribute TEXT,
74
74
start_value ANYELEMENT,
@@ -77,31 +77,39 @@ CREATE FUNCTION create_range_partitions(
77
77
```
78
78
Аналогично предыдущей с тем лишь отличием, что данная функция предназначена для секционирования по полю типа `DATE` или `TIMESTAMP`.
79
79
80
-
### Миграция данных
80
+
### Утилиты
81
81
```
82
-
CREATE FUNCTION partition_data(parent text)
82
+
partition_data(parent text)
83
83
```
84
84
Копирует данные из родительской таблицы `parent` в дочерние секции.
85
+
```
86
+
create_hash_update_trigger(parent TEXT)
87
+
```
88
+
Создает триггер на UPDATE для HASH секций. По-умолчанию триггер на обновление данных не создается, т.к. это создает дополнительные накладные расходы. Триггер полезен только в том случае, когда меняется значение ключевого аттрибута.
89
+
```
90
+
create_hash_update_trigger(parent TEXT)
91
+
```
92
+
Аналогично предыдущей, но для RANGE секций.
85
93
86
94
### Управление секциями
87
95
```
88
-
CREATE FUNCTION split_range_partition(partition TEXT, value ANYELEMENT)
96
+
split_range_partition(partition TEXT, value ANYELEMENT)
89
97
```
90
98
Разбивает RANGE секцию `partition` на две секции по значению `value`.
91
99
```
92
-
CREATE FUNCTION merge_range_partitions(partition1 TEXT, partition2 TEXT)
Объединяет две смежные RANGE секции. Данные из `partition2` копируются в `partition1`, после чего секция `partition2` удаляется.
95
103
```
96
-
CREATE FUNCTION append_partition(p_relation TEXT)
104
+
append_partition(p_relation TEXT)
97
105
```
98
106
Добавляет новую секцию в конец списка секций. Диапазон значений устанавливается равным последней секции.
99
107
```
100
-
CREATE FUNCTION prepend_partition(p_relation TEXT)
108
+
prepend_partition(p_relation TEXT)
101
109
```
102
110
Добавляет новую секцию в начало списка секций.
103
111
```
104
-
CREATE FUNCTION disable_partitioning(relation TEXT)
112
+
disable_partitioning(relation TEXT)
105
113
```
106
114
Отключает механизм секционирования `pathman` для заданной таблицы и удаляет триггер на вставку. При этом созданные ранее секции остаются без изменений.
0 commit comments