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: README.md
+6-16Lines changed: 6 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -57,7 +57,7 @@ create_hash_partitions(
57
57
attribute TEXT,
58
58
partitions_count INTEGER)
59
59
```
60
-
Performs HASH partitioning for`relation` by integer key`attribute`. Creates`partitions_count` partitions and trigger on INSERT.Data doesn'tautomatically copied from parenttableto partitions. Use`partition_data()` function (see below) to migrate data.
60
+
Performs HASH partitioning for`relation` by integer key`attribute`. Creates`partitions_count` partitions and trigger on INSERT.All the data will beautomatically copied fromtheparent to partitions.
61
61
62
62
```
63
63
create_range_partitions(
@@ -74,7 +74,7 @@ create_range_partitions(
74
74
interval INTERVAL,
75
75
premake INTEGER)
76
76
```
77
-
Performs RANGE partitioning for`relation` by partitioning key`attribute`.`start_value` argument specifies initial value,`interval` sets the range of values in a single partition,`premake` is the number of premade partitions.
77
+
Performs RANGE partitioning for`relation` by partitioning key`attribute`.`start_value` argument specifies initial value,`interval` sets the range of values in a single partition,`premake` is the number of premade partitions. All the data will be automatically copied from the parent to partitions.
78
78
79
79
```
80
80
create_partitions_from_range(
@@ -91,19 +91,15 @@ create_partitions_from_range(
91
91
end_value ANYELEMENT,
92
92
interval INTERVAL)
93
93
```
94
-
Performs RANGE-partitioning from specified range for`relation` by partitioning key`attribute`.
94
+
Performs RANGE-partitioning from specified range for`relation` by partitioning key`attribute`. Data will be copied to partitions as well.
95
95
96
96
###Utilities
97
97
```
98
-
partition_data(parent text)
99
-
```
100
-
Copies data from parent table to its partitions.
101
-
```
102
98
create_hash_update_trigger(parent TEXT)
103
99
```
104
100
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.
105
101
```
106
-
create_hash_update_trigger(parent TEXT)
102
+
create_range_update_trigger(parent TEXT)
107
103
```
108
104
Same as above for RANGE sections.
109
105
@@ -142,10 +138,7 @@ If partitions are supposed to have indexes, then they should be created for pare
This will create new partitions but data will still be in the parent table. To move data to the corresponding partitions use partition_data() function:
146
-
```
147
-
SELECT partition_data('hash_rel');
148
-
```
141
+
This will create new partitions and move the data from parent to partitions.
149
142
Here is an example of the query with filtering by partitioning key and its plan:
150
143
```
151
144
SELECT * FROM hash_rel WHERE value = 1234;
@@ -179,10 +172,7 @@ Run create_range_partitions() function to create partitions so that each partiti
Copy file name to clipboardExpand all lines: README.rus.md
+4-17Lines changed: 4 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -58,7 +58,7 @@ create_hash_partitions(
58
58
attribute TEXT,
59
59
partitions_count INTEGER)
60
60
```
61
-
Выполняет HASH-секционирование таблицы`relation` по целочисленному полю`attribute`. Создает`partitions_count` дочерних секций, а также триггер на вставку. Данные из родительской таблицыне копируютсяавтоматически в дочерние. Миграцию данных можно выполнить с помощью функции`partition_data()` (см. ниже), либо вручную.
61
+
Выполняет HASH-секционирование таблицы`relation` по целочисленному полю`attribute`. Создает`partitions_count` дочерних секций, а также триггер на вставку. Данные из родительской таблицыбудутавтоматическископированыв дочерние.
62
62
63
63
```
64
64
create_range_partitions(
@@ -75,7 +75,7 @@ create_range_partitions(
75
75
interval INTERVAL,
76
76
premake INTEGER)
77
77
```
78
-
Выполняет RANGE-секционирование таблицы`relation` по полю`attribute`. Аргумент`start_value` задает начальное значение,`interval` -- диапазон значений внутри одной секции,`premake` -- количество заранее создаваемых секций.
78
+
Выполняет RANGE-секционирование таблицы`relation` по полю`attribute`. Аргумент`start_value` задает начальное значение,`interval` -- диапазон значений внутри одной секции,`premake` -- количество заранее создаваемых секций. Данные из родительской таблицы будут автоматически скопированы в дочерние.
79
79
80
80
```
81
81
create_partitions_from_range(
@@ -92,19 +92,15 @@ create_partitions_from_range(
92
92
end_value ANYELEMENT,
93
93
interval INTERVAL)
94
94
```
95
-
Выполняет RANGE-секционирование для заданного диапазона таблицы`relation` по полю`attribute`.
95
+
Выполняет RANGE-секционирование для заданного диапазона таблицы`relation` по полю`attribute`. Данные также будут скопированы в дочерние секции.
96
96
97
97
###Утилиты
98
98
```
99
-
partition_data(parent text)
100
-
```
101
-
Копирует данные из родительской таблицы`parent` в дочерние секции.
102
-
```
103
99
create_hash_update_trigger(parent TEXT)
104
100
```
105
101
Создает триггер на UPDATE для HASH секций. По-умолчанию триггер на обновление данных не создается, т.к. это создает дополнительные накладные расходы. Триггер полезен только в том случае, когда меняется значение ключевого аттрибута.
106
102
```
107
-
create_hash_update_trigger(parent TEXT)
103
+
create_range_update_trigger(parent TEXT)
108
104
```
109
105
Аналогично предыдущей, но для RANGE секций.
110
106
@@ -143,10 +139,6 @@ INSERT INTO hash_rel (value) SELECT g FROM generate_series(1, 10000) as g;