pg_autoctl create monitor1
Pg_autoctl create monitor pg_autoctl create monitor - initialize a pg_auto_failover monitor node
Usage
This command
initializes
a
PostgreSQL
cluster
and
installs
the
pgautofailover
extension
so
that
it's
possible
to
use
the
new
instance
to
monitor
PostgreSQL
services:
Overview
The pg_autoctl tool is the client tool provided by pg_auto_failover to create and manage Postgres nodes and the pg_auto_failover monitor node. The command is built with many sub-commands that each have their own manual page.
Options
The following options are available to pg_autoctl create monitor:
-
--pgctl -
Path to the
pg_ctltool to use for the version of PostgreSQL you want to use.Defaults to the
pg_ctlfound in the PATH when there is a single entry forpg_ctlin the PATH. Check your setup using which -a pg_ctl.When using an RPM based distribution such as RHEL or CentOS, the path would usually be
/usr/pgsql-13/bin/pg_ctlfor Postgres 13.When using a debian based distribution such as debian or ubuntu, the path would usually be
/usr/lib/postgresql/13/bin/pg_ctlfor Postgres 13. Those distributions also use the packagepostgresql-commonwhich provides/usr/bin/pg_config. This tool can be automatically used bypg_autoctlto discover the default version of Postgres to use on your setup.
-
--pgdata -
Location where to initialize a Postgres database cluster, using either pg_ctl initdb or
pg_basebackup. Defaults to the environment variable PGDATA.
-
--pgport -
Postgres port to use, defaults to 5432.
-
--hostname -
Hostname or IP address (both v4 and v6 are supported) to use from any other node to connect to this node.
When not provided, a default value is computed by running the following algorithm.
- 1.
-
We get this machine's "public IP" by opening a connection to the 8.8.8.8:53 public service. Then we get TCP/IP client address that has been used to make that connection.
- 2.
-
We then do a reverse DNS lookup on the IP address found in the previous step to fetch a hostname for our local machine.
- 3.
-
If the reverse DNS lookup is successful , then
pg_autoctldoes a forward DNS lookup of that hostname.
When the forward DNS lookup response in step 3. is an IP address found in one of our local network interfaces, then
pg_autoctluses the hostname found in step 2. as the default--hostname. Otherwise it uses the IP address found in step 1.You may use the
--hostnamecommand line option to bypass the whole DNS lookup based process and force the local node name to a fixed value.
-
--auth -
Authentication method used by
pg_autoctlwhen editing the Postgres HBA file to open connections to other nodes. No default value, must be provided by the user. The value--trustis only a good choice for testing and evaluation of pg_auto_failover, see Security settings for pg_auto_failover for more information.
-
--skip-pg-hba -
When this option is used then
pg_autoctlrefrains from any editing of the Postgres HBA file. Please note that editing the HBA file is still needed so that other nodes can connect using either read privileges or replication streaming privileges.When
--skip-pg-hbais used,pg_autoctlstill outputs the HBA entries it needs in the logs, it only skips editing the HBA file.
-
--run -
Immediately run the
pg_autoctlservice after having created this node.
-
--ssl-self-signed -
Generate SSL self-signed certificates to provide network encryption. This does not protect against man-in-the-middle kinds of attacks. See Security settings for pg_auto_failover for more about our SSL settings.
-
--ssl-mode -
SSL Mode used by
pg_autoctlwhen connecting to other nodes, including when connecting for streaming replication.
-
--ssl-ca-file -
Set the Postgres
ssl_ca_fileto that file path.
-
--ssl-crl-file -
Set the Postgres
ssl_crl_fileto that file path.
-
--no-ssl -
Don't enable network encryption. This is not recommended, prefer
--ssl-self-signed.
-
--server-key -
Set the Postgres
ssl_key_fileto that file path.
-
--server-cert -
Set the Postgres
ssl_cert_fileto that file path.
Environment
PGDATA
Postgres directory location. Can be used instead of the --pgdata option.
PG_CONFIG
Can be set to the absolute path to the pg_config Postgres tool. This is mostly used in the context of building extensions, though it can be a useful way to select a Postgres version when several are installed on the same system.
PATH
Used the usual way mostly. Some entries that are searched in the PATH by the pg_autoctl command are expected to be found only once, to avoid mistakes with Postgres major versions.
PGHOST, PGPORT, PGDATABASE, PGUSER, PGCONNECT_TIMEOUT, ...
See the Postgres docs about Environment Variables for details.
TMPDIR
The pgcopydb command creates all its work files and directories in ${TMPDIR}/pgcopydb, and defaults to /tmp/pgcopydb.
XDG_CONFIG_HOME
The pg_autoctl command stores its configuration files in the standard place XDG_CONFIG_HOME. See the XDG Base Directory Specification.
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.
Releases
2 releases since Debian 12 (Bookworm); the text changed 1 time.