- Notifications
You must be signed in to change notification settings - Fork67
Global settings (GUC)
There are several global settings (GUC variables) that can affect pg_pathman's behavior:
Option | Value | Description |
---|---|---|
pg_pathman.enable | on / off | disable (or enable)pg_pathman completely |
pg_pathman.enable_runtimeappend | on / off | toggleRuntimeAppend custom node |
pg_pathman.enable_runtimemergeappend | on / off | toggleRuntimeMergeAppend custom node |
pg_pathman.enable_partitionfilter | on / off | togglePartitionFilter custom node [1] |
pg_pathman.enable_auto_partition | on / off | toggle automatic partition creation |
pg_pathman.enable_bounds_cache | on / off | toggle bounds cache [2] |
pg_pathman.insert_into_fdw | enum | allow INSERTs into various FDWs (disabled /postgres /any_fdw ) |
pg_pathman.override_copy | on / off | toggle COPY statement hooking (useful for pg_dump) |
[1] Disables tuple routing (which means that all INSERTed tuples will end up in parent table).
[2] Speeds up pg_pathman's cache updates afterappend_range_partition()
etc.
The most useful ones are:
This GUC is used heavily for debug purposes. Whenever we want to compare pg_pathman's behavior to the default one, we executepg_pathman.enable = off
and then do whatever we wanted to. It may not be as useful to the end users, though.
This GUC is your best friend when runtime partition pruning doesn't work as expected. Simply execute
psql -c"alter system set pg_pathman.enable_runtimeappend = off"pg_ctl reload
This will fix all broken queries (e.g.issue #91) that involve RuntimeAppend custom node.
If you've runrun into troubles withpg_dump
, try disabling this GUC:
psql -c"alter system set pg_pathman.override_copy = off"pg_ctl reload# or select pg_reload_conf();