-
Notifications
You must be signed in to change notification settings - Fork 68
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 | toggle RuntimeAppend custom node |
pg_pathman.enable_runtimemergeappend |
on / off | toggle RuntimeMergeAppend custom node |
pg_pathman.enable_partitionfilter |
on / off | toggle PartitionFilter 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 after append_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 execute pg_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 run run into troubles with pg_dump
, try disabling this GUC:
psql -c "alter system set pg_pathman.override_copy = off"
pg_ctl reload # or select pg_reload_conf();