@@ -32,7 +32,6 @@ Based on the partitioning type and condition's operator, `pg_pathman` searches f
3232More interesting features are yet to come. Stay tuned!
3333
3434##Roadmap
35- * Replace INSERT triggers with a custom node (aka** PartitionFilter** )
3635* Implement concurrent partitioning (much more responsive)
3736* Implement HASH-patitioning for non-integer attributes
3837* Optimize hash join (both tables are partitioned by join key)
@@ -162,6 +161,22 @@ Permanently disable `pg_pathman` partitioning mechanism for the specified parent
162161
163162- ` RuntimeAppend ` (overrides` Append ` plan node)
164163- ` RuntimeMergeAppend ` (overrides` MergeAppend ` plan node)
164+ - ` PartitionFilter ` (drop-in replacement for INSERT triggers)
165+
166+ ` PartitionFilter ` acts as a* proxy node* for INSERT's child scan, which means it can redirect output tuples to the corresponding partition:
167+
168+ ```
169+ EXPLAIN (COSTS OFF)
170+ INSERT INTO partitioned_table
171+ SELECT generate_series(1, 10), random();
172+ QUERY PLAN
173+ -----------------------------------------
174+ Insert on partitioned_table
175+ -> Custom Scan (PartitionFilter)
176+ -> Subquery Scan on "*SELECT*"
177+ -> Result
178+ (4 rows)
179+ ```
165180
166181` RuntimeAppend ` and` RuntimeMergeAppend ` have much in common: they come in handy in a case when WHERE condition takes form of:
167182```
@@ -417,6 +432,7 @@ There are several user-accessible [GUC](https://www.postgresql.org/docs/9.5/stat
417432- ` pg_pathman.enable ` --- disable (or enable)` pg_pathman ` completely
418433- ` pg_pathman.enable_runtimeappend ` --- toggle` RuntimeAppend ` custom node on\off
419434- ` pg_pathman.enable_runtimemergeappend ` --- toggle` RuntimeMergeAppend ` custom node on\off
435+ - ` pg_pathman.enable_partitionfilter ` --- toggle` PartitionFilter ` custom node on\off
420436
421437To** permanently** disable` pg_pathman ` for some previously partitioned table, use the` disable_partitioning() ` function:
422438```
@@ -428,6 +444,6 @@ All sections and data will remain unchanged and will be handled by the standard
428444Do not hesitate to post your issues, questions and new ideas at the[ issues] ( https://github.com/postgrespro/pg_pathman/issues ) page.
429445
430446##Authors
431- Ildar Musin <i.musin@postgrespro.ru > Postgres Professional Ltd., Russia
432- Alexander Korotkov <a.korotkov@postgrespro.ru > Postgres Professional Ltd., Russia
433- Dmitry Ivanov <d.ivanov@postgrespro.ru > Postgres Professional Ltd., Russia
447+ Ildar Musin <i.musin@postgrespro.ru > Postgres Professional Ltd., Russia
448+ Alexander Korotkov <a.korotkov@postgrespro.ru > Postgres Professional Ltd., Russia
449+ Dmitry Ivanov <d.ivanov@postgrespro.ru > Postgres Professional Ltd., Russia