@@ -131,6 +131,28 @@ SELECT create_hash_partitions('hash_rel', 'value', 100);
131131```
132132SELECT partition_data('hash_rel');
133133```
134+ Пример построения плана для запроса с фильтрацией по ключевому полю:
135+ ```
136+ SELECT * FROM hash_rel WHERE value = 1234;
137+ id | value
138+ ------+-------
139+ 1234 | 1234
140+
141+ EXPLAIN SELECT * FROM hash_rel WHERE value = 1234;
142+ QUERY PLAN
143+ -----------------------------------------------------------------
144+ Append (cost=0.00..2.00 rows=0 width=0)
145+ -> Seq Scan on hash_rel_34 (cost=0.00..2.00 rows=0 width=0)
146+ Filter: (value = 1234)
147+ ```
148+ Стоит отметить, что pg_pathman исключает из плана запроса родительскую таблицу, и чтобы получить данные из нее, следует использовать модификатор ONLY:
149+ ```
150+ EXPLAIN SELECT * FROM ONLY hash_rel;
151+ QUERY PLAN
152+ --------------------------------------------------------
153+ Seq Scan on hash_rel (cost=0.00..0.00 rows=1 width=8)
154+ ```
155+
134156###RANGE
135157Пример секционирования таблицы с использованием стратегии RANGE.
136158```
@@ -159,12 +181,30 @@ SELECT split_range_partition('range_rel_1', '2010-02-15'::date);
159181```
160182Добавим новую секцию в конец списка секций:
161183```
162- SELECT append_partition('range_rel')
184+ SELECT append_partition('range_rel');
185+ ```
186+ Пример построения плана для запроса с фильтрацией по ключевому полю:
163187```
188+ SELECT * FROM range_rel WHERE dt >= '2012-04-30' AND dt <= '2012-05-01';
189+ id | dt
190+ -----+---------------------
191+ 851 | 2012-04-30 00:00:00
192+ 852 | 2012-05-01 00:00:00
193+
194+ EXPLAIN SELECT * FROM range_rel WHERE dt >= '2012-04-30' AND dt <= '2012-05-01';
195+ QUERY PLAN
196+ ----------------------------------------------------------------------------
197+ Append (cost=0.00..60.80 rows=0 width=0)
198+ -> Seq Scan on range_rel_28 (cost=0.00..30.40 rows=0 width=0)
199+ Filter: (dt >= '2012-04-30 00:00:00'::timestamp without time zone)
200+ -> Seq Scan on range_rel_29 (cost=0.00..30.40 rows=0 width=0)
201+ Filter: (dt <= '2012-05-01 00:00:00'::timestamp without time zone)
202+ ```
203+
164204###Деакцивация pathman
165- Деактивировать pathman для некоторой ранее разделенной таблицы можно следующей командойdisable_pathman ():
205+ Деактивировать pathman для некоторой ранее разделенной таблицы можно следующей командойdisable_partitioning ():
166206```
167- SELECTdisable_pathman ('range_rel');
207+ SELECTdisable_partitioning ('range_rel');
168208```
169209Все созданные секции и данные останутся по прежнему доступны и будут обрабатываться стандартным планировщиком PostgreSQL.
170210###Ручное управление секциями