pg_isready

pg_isready —检查 PostgreSQL 服务器的连接状态

Synopsis

pg_isready [ connection-option ...] [ option ...]

Description

pg_isready 是用于检查 PostgreSQL 数据库服务器的连接状态的 Util。退出状态指定连接检查的结果。

Options

  • -d dbname
    --dbname=dbname

    • 指定要连接的数据库的名称。

如果此参数包含=符号或以有效的 URI 前缀(postgresql://postgres://)开头,则将其视为* conninfo *字符串。有关更多信息,请参见Section 34.1.1

  • -h hostname
    --host=hostname

    • 指定运行服务器的计算机的主机名。如果该值以斜杠开头,则将其用作 Unix 域套接字的目录。
  • -p port
    --port=port

    • 指定服务器正在侦听连接的 TCP 端口或本地 Unix 域套接字文件 extensions。默认为PGPORT环境变量的值,或者,如果未设置,则默认为编译时指定的端口,通常为 5432.
  • -q
    --quiet

    • 不显示状态消息。这在编写脚本时很有用。
  • -t seconds
    --timeout=seconds

    • 尝试连接之前,返回服务器未响应之前 await 的最大秒数。设置为 0 将禁用。默认值为 3 秒。
  • -U username
    --username=username

    • 以用户* username *的身份(而不是默认用户)连接到数据库。
  • -V
    --version

    • 打印 pg_isready 版本并退出。
  • -?
    --help

    • 显示有关 pg_isready 命令行参数的帮助,然后退出。

Exit Status

如果服务器正常接受连接,则 pg_isready 返回0到 Shell 程序;如果服务器拒绝连接(例如在启动过程中),pg_isready 返回1;如果对连接尝试没有响应,则返回2;如果未尝试进行连接(例如,由于无效的参数)。

Environment

像大多数其他 PostgreSQLUtil 一样,pg_isready也使用 libpq 支持的环境变量(请参见Section 34.14)。

Notes

无需提供正确的用户名,密码或数据库名称值即可获取服务器状态;但是,如果提供的值不正确,服务器将记录失败的连接尝试。

Examples

Standard Usage:

$ pg_isready
/tmp:5432 - accepting connections
$ echo $?
0

在启动时使用连接参数运行到 PostgreSQL 集群:

$ pg_isready -h localhost -p 5433
localhost:5433 - rejecting connections
$ echo $?
1

使用与无响应 PostgreSQL 集群的连接参数运行:

$ pg_isready -h someremotehost
someremotehost:5432 - no response
$ echo $?
2