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

Commit60f12d1

Browse files
committed
Merge branch 'pathman_pgpro9_5' of gitlab.postgrespro.ru:pgpro-dev/postgrespro into pathman_pgpro9_5
2 parents5764bb3 +c8f8e38 commit60f12d1

File tree

6 files changed

+305
-16
lines changed

6 files changed

+305
-16
lines changed

‎contrib/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ SUBDIRS = \
2828
oid2name\
2929
pageinspect\
3030
passwordcheck\
31+
pathman\
3132
pg_buffercache\
3233
pg_freespacemap\
3334
pg_prewarm\

‎contrib/pathman/README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,15 @@ It will require to restart the PostgreSQL instance.
4848

4949
###Partitions Creation
5050
```
51-
CREATE FUNCTIONcreate_hash_partitions(
51+
create_hash_partitions(
5252
relation TEXT,
5353
attribute TEXT,
5454
partitions_count INTEGER)
5555
```
5656
Performs HASH partitioning for`relation` by integer key`attribute`. Creates`partitions_count` partitions and trigger on INSERT. Data doesn't automatically copied from parent table to partitions. Use`partition_data()` function (see below) to migrate data.
5757

5858
```
59-
CREATE FUNCTIONcreate_range_partitions(
59+
create_range_partitions(
6060
relation TEXT,
6161
attribute TEXT,
6262
start_value ANYELEMENT,
@@ -65,7 +65,7 @@ CREATE FUNCTION create_range_partitions(
6565
```
6666
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 (the only one partition will be created if`premake` is 0).
6767
```
68-
CREATE FUNCTIONcreate_range_partitions(
68+
create_range_partitions(
6969
relation TEXT,
7070
attribute TEXT,
7171
start_value ANYELEMENT,
@@ -76,29 +76,29 @@ Same as above but suitable for `DATE` and `TIMESTAMP` partitioning keys.
7676

7777
###Data migration
7878
```
79-
CREATE FUNCTIONpartition_data(parent text)
79+
partition_data(parent text)
8080
```
8181
Copies data from parent table to its partitions.
8282

8383
###Partitions management
8484
```
85-
CREATE FUNCTIONsplit_range_partition(partition TEXT, value ANYELEMENT)
85+
split_range_partition(partition TEXT, value ANYELEMENT)
8686
```
8787
Splits RANGE`partition` in two by`value`.
8888
```
89-
CREATE FUNCTIONmerge_range_partitions(partition1 TEXT, partition2 TEXT)
89+
merge_range_partitions(partition1 TEXT, partition2 TEXT)
9090
```
9191
Merge two adjacent RANGE partitions. Data from`partition2` is copied to`partition1`. Then the`partition2` is removed.
9292
```
93-
CREATE FUNCTIONappend_partition(p_relation TEXT)
93+
append_partition(p_relation TEXT)
9494
```
9595
Appends new partition with the range equal to the range of the previous partition.
9696
```
97-
CREATE FUNCTIONprepend_partition(p_relation TEXT)
97+
prepend_partition(p_relation TEXT)
9898
```
9999
Prepends new partition with the range equal to the range of the first partition.
100100
```
101-
CREATE FUNCTIONdisable_partitioning(relation TEXT)
101+
disable_partitioning(relation TEXT)
102102
```
103103
Disables`pathman` partitioning mechanism for the specified parent table and removes an insert trigger. Partitions itself remain unchanged.
104104

@@ -151,4 +151,4 @@ SELECT append_partition('range_rel');
151151

152152
##Author
153153
Ildar Musin <i.musin@postgrespro.ru> Postgres Professional Ltd., Russia
154-
This module is sponsored by Postgres Professional Ltd., Russia
154+
This module is sponsored by Postgres Professional Ltd., Russia

‎contrib/pathman/README.rus.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,14 @@ CHECK ( id >= 200 AND id < 300 )
1919

2020
Несмотря на гибкость, этот механизм обладает недостатками. Так при фильтрации данных оптимизатор вынужден перебирать все дочерние секции и сравнивать условие запроса с CHECK CONSTRAINT-ами секции, чтобы определить из каких секций ему следует загружать данные. При большом количестве секций это создает дополнительные накладные расходы, которые могут свести на нет выигрыш в производительности от применения секционирования.
2121

22-
Модуль `pathman` предоставляет функции для создания и управления секциями (см. следующий раздел) и механизм секционирования, оптимизированный с учетом знания о стуктуре дочерних таблиц. Конфигурация сохраняется таблице `pathman_config`, каждая строка которой содержит запись для одной секционированной таблицы (название таблицы, аттрибут и тип разбиения). В процессе инициализации модуля в разделяемую память сохраняется конфигурация дочерних таблиц в удобном для поиска формате. Получив запрос типа `SELECT` к секционированной таблице, `pathman` анализирует дерево условий запроса и выделяет из него условия вида:
22+
Модуль`pathman` предоставляет функции для создания и управления
23+
секциями (см. следующий раздел) и механизм секционирования,
24+
оптимизированный с учетом знания о структуре дочерних таблиц. Конфигурация сохраняется таблице`pathman_config`, каждая строка которой содержит запись для одной секционированной таблицы (название таблицы, атрибут и тип разбиения). В процессе инициализации модуля в разделяемую память сохраняется конфигурация дочерних таблиц в удобном для поиска формате. Получив запрос типа`SELECT` к секционированной таблице,`pathman` анализирует дерево условий запроса и выделяет из него условия вида:
2325

2426
```
2527
ПЕРЕМЕННАЯ ОПЕРАТОР КОНСТАНТА
2628
```
27-
где`ПЕРЕМЕННАЯ` -- этоаттрибут, по которому было выполнено разбиение,`ОПЕРАТОР` -- оператор сравнения (поддерживаются =, <, <=, >, >=),`КОНСТАНТА` -- скалярное значение. Например:
29+
где`ПЕРЕМЕННАЯ` -- этоатрибут, по которому было выполнено разбиение,`ОПЕРАТОР` -- оператор сравнения (поддерживаются =, <, <=, >, >=),`КОНСТАНТА` -- скалярное значение. Например:
2830

2931
```
3032
WHERE id = 150
@@ -33,7 +35,7 @@ WHERE id = 150
3335

3436
##Installation
3537

36-
Для установки pathman выполните в директориираширения команду:
38+
Для установки pathman выполните в директориирасширения команду:
3739
```
3840
make install
3941
```
@@ -114,7 +116,7 @@ INSERT INTO hash_rel (value) SELECT g FROM generate_series(1, 10000) as g;
114116
```
115117
SELECT create_hash_partitions('hash_rel', 'value', 100);
116118
```
117-
Перенсем данные из родительской таблицы в дочерние секции.
119+
Перенесем данные из родительской таблицы в дочерние секции.
118120
```
119121
SELECT partition_data('hash_rel');
120122
```
@@ -132,7 +134,7 @@ SELECT create_range_partitions('range_rel', 'dt', '2010-01-01'::date, '1 month':
132134
```
133135
>Значение`premake` равно 59, а не 60, т.к. 1 секция создается независимо от значения`premake`
134136
135-
Перенсем данные из родительской таблицы в дочерние секции.
137+
Перенесем данные из родительской таблицы в дочерние секции.
136138
```
137139
SELECT partition_data('range_rel');
138140
```
@@ -147,4 +149,4 @@ SELECT split_range_partition('range_rel_1', '2010-02-15'::date);
147149
Добавим новую секцию в конец списка секций:
148150
```
149151
SELECT append_partition('range_rel')
150-
```
152+
```

‎doc/src/sgml/contrib.sgml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ CREATE EXTENSION <replaceable>module_name</> FROM unpackaged;
124124
&ltree;
125125
&pageinspect;
126126
&passwordcheck;
127+
&pathman;
127128
&pgbuffercache;
128129
&pgcrypto;
129130
&pgfreespacemap;

‎doc/src/sgml/filelist.sgml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@
127127
<!ENTITY oid2name SYSTEM "oid2name.sgml">
128128
<!ENTITY pageinspect SYSTEM "pageinspect.sgml">
129129
<!ENTITY passwordcheck SYSTEM "passwordcheck.sgml">
130+
<!ENTITY pathman SYSTEM "pathman.sgml">
130131
<!ENTITY pgbuffercache SYSTEM "pgbuffercache.sgml">
131132
<!ENTITY pgcrypto SYSTEM "pgcrypto.sgml">
132133
<!ENTITY pgfreespacemap SYSTEM "pgfreespacemap.sgml">

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp