PG_AUTOCTL_SHOW_SETTINGS(1)

πŸ“¦
version 2.1 Β· 2 versions
, in fedora 43, fedora 44

✨ NAME ✨

pg_autoctl show settings β€” bestie, this is your little window into the replication settings of a formation, straight from the monitor. It's the pg_autoctl show settings command, and it prints out the replication settings for a formation. πŸ’–

πŸŽ€ SYNOPSIS πŸŽ€

So the whole thing is this command, and it lets you review all the replication settings of a given formation (and yeah, it defaults to 'default', as per usual around here):

   usage: pg_autoctl show settings  [ --pgdata ] [ --json ] [ --formation ]

   --pgdata      path to data directory
   --monitor     pg_auto_failover Monitor Postgres URL
   --json        output data in the JSON format
   --formation   pg_auto_failover formation

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so first thing, heads up: there's also pg_autoctl get formation settings, which is literally a synonym. Same thing, different name, no cap.

The output contains settings and values that apply at different contexts. Here's what that looks like with a formation of four nodes, where node_4 is not participating in the replication quorum and also not a candidate for failover:

   $ pg_autoctl show settings
      Context |    Name |                   Setting | Value
    ----------+---------+---------------------------+-------------------------------------------------------------
    formation | default |      number_sync_standbys | 1
      primary |  node_1 | synchronous_standby_names | 'ANY 1 (pgautofailover_standby_3, pgautofailover_standby_2)'
         node |  node_1 |        replication quorum | true
         node |  node_2 |        replication quorum | true
         node |  node_3 |        replication quorum | true
         node |  node_4 |        replication quorum | false
         node |  node_1 |        candidate priority | 50
         node |  node_2 |        candidate priority | 50
         node |  node_3 |        candidate priority | 50
         node |  node_4 |        candidate priority | 0

Three replication settings contexts get listed, and let me break them down for you:

  1. The "formation" context contains a single entry β€” the value of number_sync_standbys for the target formation.
  2. The "primary" context contains one entry per group of Postgres nodes in the formation, and it shows the current value of the synchronous_standby_names Postgres setting as computed by the monitor. It should match what's currently set on the primary node β€” unless you catch it mid-change, which you can spot because the primary will be in the APPLY_SETTING state.
  3. The "node" context contains two entries per node: one line shows the replication quorum setting of the node, and another line shows the candidate priority of the node.

Bottom line bestie: this command gives you an overview of all the settings that apply to the current formation. Iconic. πŸ‘‘


πŸ’… 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.
  • --monitor β€” Postgres URI used to connect to the monitor. Must use the autoctl_node username and target the pg_auto_failover database name. It's possible to show the Postgres URI from the monitor node using the command pg_autoctl show uri. Defaults to the value of the environment variable PG_AUTOCTL_MONITOR.
  • --formation β€” Show the current replication settings for the given formation. Defaults to the default formation.
  • --json β€” Output a JSON formatted data instead of a table formatted list.

🌸 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.
  • 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.

🌈 EXAMPLES 🌈

Okay so here's the moment you've been waiting for, the live demo, watch this:

   $ pg_autoctl show settings
        Context |    Name |                   Setting | Value
      ----------+---------+---------------------------+-------------------------------------------------------------
      formation | default |      number_sync_standbys | 1
        primary |   node1 | synchronous_standby_names | 'ANY 1 (pgautofailover_standby_2, pgautofailover_standby_3)'
           node |   node1 |        candidate priority | 50
           node |   node2 |        candidate priority | 50
           node |   node3 |        candidate priority | 50
           node |   node1 |        replication quorum | true
           node |   node2 |        replication quorum | true
           node |   node3 |        replication quorum | true

Like, look at that. Three nodes, all quorum-true, all priority 50, one sync standby. Slay. ✨


πŸ’œ AUTHOR πŸ’œ

Microsoft

Copyright (c) Microsoft Corporation. All rights reserved.


and that's a wrap on the pg_autoctl show settings page, bestie!! πŸ’– this was version 2.1, dated Jan 18, 2025, from the pg_auto_failover era of the manual β€” go forth and check your replication settings, you've got this, mwah πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from