DOKK / manpages / debian 12 / pg-auto-failover-cli / pg_autoctl create formation.1.en
PG_AUTOCTL CREATE FORMATION(1) pg_auto_failover PG_AUTOCTL CREATE FORMATION(1)

pg_autoctl create formation - pg_autoctl create formation

pg_autoctl create formation - Create a new formation on the pg_auto_failover monitor

This command registers a new formation on the monitor, with the specified kind:

usage: pg_autoctl create formation  [ --pgdata --monitor --formation --kind --dbname  --with-secondary --without-secondary ]
--pgdata      path to data directory
--monitor     pg_auto_failover Monitor Postgres URL
--formation   name of the formation to create
--kind        formation kind, either "pgsql" or "citus"
--dbname      name for postgres database to use in this formation
--enable-secondary     create a formation that has multiple nodes that can be

used for fail over when others have issues --disable-secondary create a citus formation without nodes to fail over to --number-sync-standbys minimum number of standbys to confirm write


A single pg_auto_failover monitor may manage any number of formations, each composed of at least one Postgres service group. This commands creates a new formation so that it is then possible to register Postgres nodes in the new formation.

The following options are available to pg_autoctl create formation:

Location where to initialize a Postgres database cluster, using either pg_ctl initdb or pg_basebackup. Defaults to the environment variable PGDATA.
Postgres URI used to connect to the monitor. Must use the autoctl_node username and target the pg_auto_failover database name. It is possible to show the Postgres URI from the monitor node using the command pg_autoctl show uri.
Name of the formation to create.
A pg_auto_failover formation could be of kind pgsql or of kind citus. At the moment citus formation kinds are not managed in the Open Source version of pg_auto_failover.
Name of the database to use in the formation, mostly useful to formation kinds citus where the Citus extension is only installed in a single target database.
The formation to be created allows using standby nodes. Defaults to true. Mostly useful for Citus formations.
See --enable-secondary above.
Postgres streaming replication uses synchronous_standby_names to setup how many standby nodes should have received a copy of the transaction data. When using pg_auto_failover this setup is handled at the formation level.

Defaults to zero when creating the first two Postgres nodes in a formation in the same group. When set to zero pg_auto_failover uses synchronous replication only when a standby node is available: the idea is to allow failover, this setting does not allow proper HA for Postgres.

When adding a third node that participates in the quorum (one primary, two secondaries), the setting is automatically changed from zero to one.


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.


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.


Microsoft

Copyright (c) Microsoft Corporation. All rights reserved.

November 6, 2022 2.0