pg_autoctl inspect show
pg_autoctl inspect show - Network and hostname diagnostics
Synopsis
The commands pg_autoctl create monitor and
pg_autoctl create postgres both implement automated detection of node
network settings when the option --hostname is not used. When a new node
is registered to the monitor, other nodes also update their HBA rules to
allow the new node to connect.
pg_autoctl inspect show exposes the network discovery logic so that
operators can verify how pg_autoctl sees the local host.
pg_autoctl inspect show
ipaddr Print this node's IP address information
cidr Print this node's CIDR information
lookup Print this node's DNS lookup information
hostname Print this node's default hostname
reverse Lookup given hostname and check reverse DNS setup
pg_autoctl inspect show ipaddr
Connects to an external IP address and uses getsockname(2) to retrieve
the current address to which the socket is bound. The external IP defaults
to 8.8.8.8, or to the monitor IP/hostname in the context of
pg_autoctl create postgres.
$ pg_autoctl inspect show ipaddr
192.168.1.156
pg_autoctl inspect show cidr
Connects to an external IP address in the same way as inspect show ipaddr
and then matches the local socket name with the list of local network
interfaces. When a match is found, uses the netmask of the interface to
compute the CIDR notation from the IP address. The computed CIDR is used in
HBA rules.
$ pg_autoctl inspect show cidr
192.168.1.0/24
pg_autoctl inspect show hostname
Uses either its first argument or the result of gethostname(2) as the
candidate hostname for HBA rules, then checks that the hostname resolves to
an IP address that belongs to one of the machine’s network interfaces.
$ pg_autoctl inspect show hostname
node1.example.com
pg_autoctl inspect show lookup
Checks that the given argument is a hostname that resolves to a local IP address (an IP address associated with a local network interface).
$ pg_autoctl inspect show lookup node1.example.com
node1.example.com: 192.168.1.156
pg_autoctl inspect show reverse
Implements the same DNS checks as Postgres HBA matching code: first does a forward DNS lookup of the given hostname, then a reverse-lookup from all the IP addresses obtained. Success is reached when at least one IP address from the forward lookup resolves back to the given hostname.
$ pg_autoctl inspect show reverse node1.example.com
node1.example.com: 192.168.1.156