1PG_AUTOCTL SHOW FILE(1)        pg_auto_failover        PG_AUTOCTL SHOW FILE(1)
2
3
4

NAME

6       pg_autoctl show file - pg_autoctl show file
7
8       pg_autoctl  show  file - List pg_autoctl internal files (config, state,
9       pid)
10

SYNOPSIS

12       This command the files that pg_autoctl uses internally for its own con‐
13       figuration, state, and pid:
14
15          usage: pg_autoctl show file  [ --pgdata --all --config | --state | --init | --pid --contents ]
16
17          --pgdata      path to data directory
18          --all         show all pg_autoctl files
19          --config      show pg_autoctl configuration file
20          --state       show pg_autoctl state file
21          --init        show pg_autoctl initialisation state file
22          --pid         show pg_autoctl PID file
23          --contents    show selected file contents
24          --json        output data in the JSON format
25

DESCRIPTION

27       The pg_autoctl command follows the XDG Base Directory Specification and
28       places its internal and configuration files by default in  places  such
29       as ~/.config/pg_autoctl and ~/.local/share/pg_autoctl.
30
31       It  is  possible to change the default XDG locations by using the envi‐
32       ronment variables XDG_CONFIG_HOME, XDG_DATA_HOME, and XDG_RUNTIME_DIR.
33
34       Also, pg_config uses sub-directories that are specific to a  given  PG‐
35       DATA,  making it possible to run several Postgres nodes on the same ma‐
36       chine, which is very practical for testing  and  development  purposes,
37       though not advised for production setups.
38
39   Configuration File
40       The  pg_autoctl configuration file for an instance serving the data di‐
41       rectory    at    /data/pgsql    is    found     at     ~/.config/pg_au‐
42       toctl/data/pgsql/pg_autoctl.cfg, written in the INI format.
43
44       It  is  possible to get the location of the configuration file by using
45       the command pg_autoctl show file --config --pgdata /data/pgsql  and  to
46       output  its  content by using the command pg_autoctl show file --config
47       --contents --pgdata /data/pgsql.
48
49       See also pg_autoctl_config_get and pg_autoctl_config_set.
50
51   State File
52       The pg_autoctl state file for an instance serving the data directory at
53       /data/pgsql  is  found  at  ~/.local/share/pg_autoctl/data/pgsql/pg_au‐
54       toctl.state, written in a specific binary format.
55
56       This file is not intended to be written by anything  else  than  pg_au‐
57       toctl  itself.  In  case  of state corruption, see the trouble shooting
58       section of the documentation.
59
60       It is possible to get the location of the state file by using the  com‐
61       mand  pg_autoctl  show  file --state --pgdata /data/pgsql and to output
62       its content by using the command pg_autoctl show  file  --state  --con‐
63       tents --pgdata /data/pgsql.
64
65   Init State File
66       The  pg_autoctl init state file for an instance serving the data direc‐
67       tory    at    /data/pgsql    is    found    at    ~/.local/share/pg_au‐
68       toctl/data/pgsql/pg_autoctl.init, written in a specific binary format.
69
70       This  file  is  not intended to be written by anything else than pg_au‐
71       toctl itself. In case of state corruption,  see  the  trouble  shooting
72       section of the documentation.
73
74       This initialization state file only exists during the initialization of
75       a pg_auto_failover node. In normal operations, this file does  not  ex‐
76       ist.
77
78       It  is possible to get the location of the state file by using the com‐
79       mand pg_autoctl show file --init --pgdata /data/pgsql and to output its
80       content  by  using  the  command pg_autoctl show file --init --contents
81       --pgdata /data/pgsql.
82
83   PID File
84       The pg_autoctl PID file for an instance serving the data  directory  at
85       /data/pgsql   is  found  at  /tmp/pg_autoctl/data/pgsql/pg_autoctl.pid,
86       written in a specific text format.
87
88       The PID file is located in a temporary directory by default, or in  the
89       XDG_RUNTIME_DIR directory when this is setup.
90

OPTIONS

92       --pgdata
93              Location of the Postgres node being managed locally. Defaults to
94              the environment variable PGDATA. Use --monitor to connect  to  a
95              monitor from anywhere, rather than the monitor URI used by a lo‐
96              cal Postgres node managed with pg_autoctl.
97
98       --all  List all the files that belong to this pg_autoctl node.
99
100       --config
101              Show only the configuration file.
102
103       --state
104              Show only the state file.
105
106       --init Show only the init state file, which only exists while the  com‐
107              mand pg_autoctl create postgres or the command pg_autoctl create
108              monitor is running, or when than command failed (and can then be
109              retried).
110
111       --pid  Show only the pid file.
112
113       --contents
114              When  one of the options to show a specific file is in use, then
115              --contents shows the contents of the selected  file  instead  of
116              showing its absolute file path.
117
118       --json Output JSON formated data.
119

EXAMPLES

121       The  following  examples  are taken from a QA environment that has been
122       prepared thanks to the make  cluster  command  made  available  to  the
123       pg_auto_failover  contributors.  As a result, the XDG environment vari‐
124       ables have been tweaked to obtain a self-contained test:
125
126          $  tmux show-env | grep XDG
127          XDG_CONFIG_HOME=/Users/dim/dev/MS/pg_auto_failover/tmux/config
128          XDG_DATA_HOME=/Users/dim/dev/MS/pg_auto_failover/tmux/share
129          XDG_RUNTIME_DIR=/Users/dim/dev/MS/pg_auto_failover/tmux/run
130
131       Within that self-contained test location, we can see the following  ex‐
132       amples.
133
134          $ pg_autoctl show file --pgdata ./node1
135             File | Path
136          --------+----------------
137           Config | /Users/dim/dev/MS/pg_auto_failover/tmux/config/pg_autoctl/Users/dim/dev/MS/pg_auto_failover/tmux/node1/pg_autoctl.cfg
138            State | /Users/dim/dev/MS/pg_auto_failover/tmux/share/pg_autoctl/Users/dim/dev/MS/pg_auto_failover/tmux/node1/pg_autoctl.state
139             Init | /Users/dim/dev/MS/pg_auto_failover/tmux/share/pg_autoctl/Users/dim/dev/MS/pg_auto_failover/tmux/node1/pg_autoctl.init
140              Pid | /Users/dim/dev/MS/pg_auto_failover/tmux/run/pg_autoctl/Users/dim/dev/MS/pg_auto_failover/tmux/node1/pg_autoctl.pid
141             'ANY 1 (pgautofailover_standby_2, pgautofailover_standby_3)'
142
143          $ pg_autoctl show file --pgdata node1 --state
144          /Users/dim/dev/MS/pg_auto_failover/tmux/share/pg_autoctl/Users/dim/dev/MS/pg_auto_failover/tmux/node1/pg_autoctl.state
145
146          $ pg_autoctl show file --pgdata node1 --state --contents
147          Current Role:             primary
148          Assigned Role:            primary
149          Last Monitor Contact:     Thu Mar 18 17:32:25 2021
150          Last Secondary Contact:   0
151          pg_autoctl state version: 1
152          group:                    0
153          node id:                  1
154          nodes version:            0
155          PostgreSQL Version:       1201
156          PostgreSQL CatVersion:    201909212
157          PostgreSQL System Id:     6940955496243696337
158
159          pg_autoctl show file --pgdata node1 --config --contents --json | jq .pg_autoctl
160          {
161            "role": "keeper",
162            "monitor": "postgres://autoctl_node@localhost:5500/pg_auto_failover?sslmode=prefer",
163            "formation": "default",
164            "group": 0,
165            "name": "node1",
166            "hostname": "localhost",
167            "nodekind": "standalone"
168          }
169

AUTHOR

171       Microsoft
172
174       Copyright (c) Microsoft Corporation. All rights reserved.
175
176
177
178
1791.6                              Jan 21, 2022          PG_AUTOCTL SHOW FILE(1)
Impressum