.. _pg_autoctl_enable_maintenance: pg_autoctl enable maintenance ============================= pg_autoctl enable maintenance - Enable Postgres maintenance mode on this node Synopsis -------- A pg_auto_failover can be put to a maintenance state. The Postgres node is then still registered to the monitor, and is known to be unreliable until maintenance is disabled. A node in the maintenance state is not a candidate for promotion. Typical use of the maintenance state include Operating System or Postgres reboot, e.g. when applying security upgrades. :: usage: pg_autoctl enable maintenance [ --pgdata --allow-failover ] --pgdata path to data directory Options ------- --pgdata Location of the Postgres node being managed locally. Defaults to the environment variable ``PGDATA``. Use ``--monitor`` to connect to a monitor from anywhere, rather than the monitor URI used by a local Postgres node managed with ``pg_autoctl``. --formation Target formation where to enable secondary feature. Environment ----------- PGDATA Postgres directory location. Can be used instead of the ``--pgdata`` option. PG_AUTOCTL_MONITOR Postgres URI to connect to the monitor node, can be used instead of the ``--monitor`` option. XDG_CONFIG_HOME The pg_autoctl command stores its configuration files in the standard place XDG_CONFIG_HOME. See the `XDG Base Directory Specification`__. __ https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html XDG_DATA_HOME The pg_autoctl command stores its internal states files in the standard place XDG_DATA_HOME, which defaults to ``~/.local/share``. See the `XDG Base Directory Specification`__. __ https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html Examples -------- :: pg_autoctl show state Name | Node | Host:Port | LSN | Connection | Current State | Assigned State ------+-------+----------------+-----------+--------------+---------------------+-------------------- node1 | 1 | localhost:5501 | 0/4000760 | read-write | primary | primary node2 | 2 | localhost:5502 | 0/4000760 | read-only | secondary | secondary node3 | 3 | localhost:5503 | 0/4000760 | read-only | secondary | secondary $ pg_autoctl enable maintenance --pgdata node3 12:06:12 47086 INFO Listening monitor notifications about state changes in formation "default" and group 0 12:06:12 47086 INFO Following table displays times when notifications are received Time | Name | Node | Host:Port | Current State | Assigned State ---------+-------+-------+----------------+---------------------+-------------------- 12:06:12 | node1 | 1 | localhost:5501 | primary | join_primary 12:06:12 | node3 | 3 | localhost:5503 | secondary | wait_maintenance 12:06:12 | node3 | 3 | localhost:5503 | wait_maintenance | wait_maintenance 12:06:12 | node1 | 1 | localhost:5501 | join_primary | join_primary 12:06:12 | node3 | 3 | localhost:5503 | wait_maintenance | maintenance 12:06:12 | node1 | 1 | localhost:5501 | join_primary | primary 12:06:13 | node3 | 3 | localhost:5503 | maintenance | maintenance $ pg_autoctl show state Name | Node | Host:Port | LSN | Connection | Current State | Assigned State ------+-------+----------------+-----------+--------------+---------------------+-------------------- node1 | 1 | localhost:5501 | 0/4000810 | read-write | primary | primary node2 | 2 | localhost:5502 | 0/4000810 | read-only | secondary | secondary node3 | 3 | localhost:5503 | 0/4000810 | none | maintenance | maintenance