File: pg_autoctl_disable_monitor.rst

package info (click to toggle)
pg-auto-failover 2.0-2
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 5,156 kB
  • sloc: ansic: 58,245; python: 5,501; sql: 3,171; makefile: 593; sh: 35
file content (100 lines) | stat: -rw-r--r-- 3,660 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
.. _pg_autoctl_disable_monitor:

pg_autoctl disable monitor
==========================

pg_autoctl disable monitor - Disable the monitor for this node

Synopsis
--------

It is possible to disable the pg_auto_failover monitor and enable it again
online in a running pg_autoctl Postgres node. The main use-cases where this
operation is useful is when the monitor node has to be replaced, either
after a full crash of the previous monitor node, of for migrating to a new
monitor node (hardware replacement, region or zone migration, etc).

::

   usage: pg_autoctl disable monitor  [ --pgdata --force ]

  --pgdata      path to data directory
  --force       force unregistering from the monitor

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``.

--force

  The ``--force`` covers the two following situations:

    1. By default, the command expects to be able to connect to the current
       monitor. When the current known monitor in the setup is not running
       anymore, use ``--force`` to skip this step.

    2. When ``pg_autoctl`` could connect to the monitor and the node is
       found there, this is normally an error that prevents from disabling
       the monitor. Using ``--force`` allows the command to drop the node
       from the monitor and continue with disabling the monitor.


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/4000148 |   read-write |             primary |             primary
   node2 |     2 | localhost:5502 | 0/4000148 |    read-only |           secondary |           secondary
   node3 |     3 | localhost:5503 | 0/4000148 |    read-only |           secondary |           secondary


   $ pg_autoctl disable monitor --pgdata node3
   12:41:21 43039 INFO  Found node 3 "node3" (localhost:5503) on the monitor
   12:41:21 43039 FATAL Use --force to remove the node from the monitor

   $ pg_autoctl disable monitor --pgdata node3 --force
   12:41:32 43219 INFO  Removing node 3 "node3" (localhost:5503) from monitor

   $ 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