Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit160ec7b

Browse files
committed
fixes
1 parent71f4bbd commit160ec7b

File tree

10 files changed

+566
-175
lines changed

10 files changed

+566
-175
lines changed

‎Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ include $(top_builddir)/src/Makefile.global
2323
include$(top_srcdir)/contrib/contrib-global.mk
2424
endif
2525

26-
$(EXTENSION)--$(EXTVERSION).sql:sql/init.sqlsql/hash.sqlsql/range.sql
26+
$(EXTENSION)--$(EXTVERSION).sql: init.sql hash.sql range.sql
2727
cat$^>$@
2828
EXTRA_REGRESS_OPTS=--temp-config=$(top_srcdir)/$(subdir)/conf.add
2929

‎README.md

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ create_hash_partitions(
5757
attribute TEXT,
5858
partitions_count INTEGER)
5959
```
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.
6161

6262
```
6363
create_range_partitions(
@@ -74,7 +74,7 @@ create_range_partitions(
7474
interval INTERVAL,
7575
premake INTEGER)
7676
```
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.
7878

7979
```
8080
create_partitions_from_range(
@@ -91,19 +91,15 @@ create_partitions_from_range(
9191
end_value ANYELEMENT,
9292
interval INTERVAL)
9393
```
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.
9595

9696
###Utilities
9797
```
98-
partition_data(parent text)
99-
```
100-
Copies data from parent table to its partitions.
101-
```
10298
create_hash_update_trigger(parent TEXT)
10399
```
104100
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.
105101
```
106-
create_hash_update_trigger(parent TEXT)
102+
create_range_update_trigger(parent TEXT)
107103
```
108104
Same as above for RANGE sections.
109105

@@ -142,10 +138,7 @@ If partitions are supposed to have indexes, then they should be created for pare
142138
```
143139
SELECT create_hash_partitions('hash_rel', 'value', 100);
144140
```
145-
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.
149142
Here is an example of the query with filtering by partitioning key and its plan:
150143
```
151144
SELECT * FROM hash_rel WHERE value = 1234;
@@ -179,10 +172,7 @@ Run create_range_partitions() function to create partitions so that each partiti
179172
```
180173
SELECT create_range_partitions('range_rel', 'dt', '2010-01-01'::date, '1 month'::interval, 60);
181174
```
182-
It will create 60 partitions. Now let's move data from the parent to partitions.
183-
```
184-
SELECT partition_data('range_rel');
185-
```
175+
It will create 60 partitions and move the data from parent to partitions.
186176
To merge to adjacent partitions run merge_range_partitions() function:
187177
```
188178
SELECT merge_range_partitions('range_rel_1', 'range_rel_2');

‎README.rus.md

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ create_hash_partitions(
5858
attribute TEXT,
5959
partitions_count INTEGER)
6060
```
61-
Выполняет HASH-секционирование таблицы`relation` по целочисленному полю`attribute`. Создает`partitions_count` дочерних секций, а также триггер на вставку. Данные из родительской таблицыне копируютсяавтоматически в дочерние. Миграцию данных можно выполнить с помощью функции`partition_data()` (см. ниже), либо вручную.
61+
Выполняет HASH-секционирование таблицы`relation` по целочисленному полю`attribute`. Создает`partitions_count` дочерних секций, а также триггер на вставку. Данные из родительской таблицыбудутавтоматическископированыв дочерние.
6262

6363
```
6464
create_range_partitions(
@@ -75,7 +75,7 @@ create_range_partitions(
7575
interval INTERVAL,
7676
premake INTEGER)
7777
```
78-
Выполняет RANGE-секционирование таблицы`relation` по полю`attribute`. Аргумент`start_value` задает начальное значение,`interval` -- диапазон значений внутри одной секции,`premake` -- количество заранее создаваемых секций.
78+
Выполняет RANGE-секционирование таблицы`relation` по полю`attribute`. Аргумент`start_value` задает начальное значение,`interval` -- диапазон значений внутри одной секции,`premake` -- количество заранее создаваемых секций. Данные из родительской таблицы будут автоматически скопированы в дочерние.
7979

8080
```
8181
create_partitions_from_range(
@@ -92,19 +92,15 @@ create_partitions_from_range(
9292
end_value ANYELEMENT,
9393
interval INTERVAL)
9494
```
95-
Выполняет RANGE-секционирование для заданного диапазона таблицы`relation` по полю`attribute`.
95+
Выполняет RANGE-секционирование для заданного диапазона таблицы`relation` по полю`attribute`. Данные также будут скопированы в дочерние секции.
9696

9797
###Утилиты
9898
```
99-
partition_data(parent text)
100-
```
101-
Копирует данные из родительской таблицы`parent` в дочерние секции.
102-
```
10399
create_hash_update_trigger(parent TEXT)
104100
```
105101
Создает триггер на UPDATE для HASH секций. По-умолчанию триггер на обновление данных не создается, т.к. это создает дополнительные накладные расходы. Триггер полезен только в том случае, когда меняется значение ключевого аттрибута.
106102
```
107-
create_hash_update_trigger(parent TEXT)
103+
create_range_update_trigger(parent TEXT)
108104
```
109105
Аналогично предыдущей, но для RANGE секций.
110106

@@ -143,10 +139,6 @@ INSERT INTO hash_rel (value) SELECT g FROM generate_series(1, 10000) as g;
143139
```
144140
SELECT create_hash_partitions('hash_rel', 'value', 100);
145141
```
146-
Перенесем данные из родительской таблицы в дочерние секции.
147-
```
148-
SELECT partition_data('hash_rel');
149-
```
150142
Пример построения плана для запроса с фильтрацией по ключевому полю:
151143
```
152144
SELECT * FROM hash_rel WHERE value = 1234;
@@ -181,11 +173,6 @@ INSERT INTO range_rel (dt) SELECT g FROM generate_series('2010-01-01'::date, '20
181173
```
182174
SELECT create_range_partitions('range_rel', 'dt', '2010-01-01'::date, '1 month'::interval, 60);
183175
```
184-
185-
Перенесем данные из родительской таблицы в дочерние секции.
186-
```
187-
SELECT partition_data('range_rel');
188-
```
189176
Объединим секции первые две секции:
190177
```
191178
SELECT merge_range_partitions('range_rel_1', 'range_rel_2');

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp