PG_AUTOCTL SHOW URI(1)

NAME
pg_autoctl show uri - pg_autoctl show uri

pg_autoctl show uri - Show the postgres uri to use to connect to pg_auto_failover nodes

SYNOPSIS

This command outputs the monitor or the coordinator Postgres URI to use from an application to connect to Postgres:

            usage: pg_autoctl show uri  [ --pgdata --monitor --formation --json ]

              --pgdata      path to data directory
              --monitor     monitor uri
              --formation   show the coordinator uri of given formation
              --json        output data in the JSON format

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 is 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
        When --formation is used, lists the Postgres URIs of all known formations on the monitor.

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

            $ pg_autoctl show uri
                    Type |    Name | Connection String
            -------------+---------+-------------------------------
                 monitor | monitor | postgres://autoctl_node@localhost:5500/pg_auto_failover
               formation | default | postgres://localhost:5502,localhost:5503,localhost:5501/demo?target_session_attrs=read-write&sslmode=prefer

            $ pg_autoctl show uri --formation monitor
            postgres://autoctl_node@localhost:5500/pg_auto_failover

            $ pg_autoctl show uri --formation default
            postgres://localhost:5503,localhost:5502,localhost:5501/demo?target_session_attrs=read-write&sslmode=prefer

            $ pg_autoctl show uri --json
            [
             {
                 "uri": "postgres://autoctl_node@localhost:5500/pg_auto_failover",
                 "name": "monitor",
                 "type": "monitor"
             },
             {
                 "uri": "postgres://localhost:5503,localhost:5502,localhost:5501/demo?target_session_attrs=read-write&sslmode=prefer",
                 "name": "default",
                 "type": "formation"
             }
            ]

MULTI-HOSTS POSTGRES CONNECTION STRINGS

PostgreSQL since version 10 includes support for multiple hosts in its connection driver libpq, with the special target_session_attrs connection property.

This multi-hosts connection string facility allows applications to keep using the same stable connection string over server-side failovers. That's why pg_autoctl show uri uses that format.

AUTHOR
Microsoft

COPYRIGHT
Copyright (c) Microsoft Corporation. All rights reserved.