pg_isready — 检查 PostgreSQL 服务器的连接状态
pg_isready [连接选项...] [选项...]
pg_isready 是一个用于检查 PostgreSQL 数据库服务器连接状态的工具。退出状态指定了连接检查的结果。
-d dbname--dbname=dbname指定要连接的数据库名称。dbname 可以是 连接字符串。如果是,连接字符串参数将覆盖任何冲突的命令行选项。
-h 主机名--host=主机名指定服务器运行所在机器的主机名。如果值以斜杠开头,则用作 Unix 域套接字的目录。
-p 端口--port=端口指定服务器正在监听连接的 TCP 端口或本地 Unix 域套接字文件的扩展名。默认为 PGPORT 环境变量的值,或者如果未设置,则为编译时指定的端口,通常是 5432。
-q--quiet不显示状态消息。这在编写脚本时很有用。
-t 秒数--timeout=秒数在返回服务器无响应之前,尝试连接的最大等待秒数。设置为 0 则禁用。默认为 3 秒。
-U 用户名--username=用户名以 用户名 的身份连接到数据库,而不是使用默认用户。
-V--version打印 pg_isready 版本并退出。
-?--help显示有关 pg_isready 命令行参数的帮助,并退出。
pg_isready 返回 0 到 shell,表示服务器正常接受连接;返回 1 表示服务器拒绝连接(例如在启动过程中);返回 2 表示连接尝试无响应;返回 3 表示未进行尝试(例如由于参数无效)。
pg_isready 和大多数其他 PostgreSQL 工具一样,也使用 libpq 支持的环境变量(参见 第 32.15 节)。
环境变量 PG_COLOR 指定是否在诊断消息中使用颜色。可能的值为 always、auto 和 never。
为了获取服务器状态,不必提供正确的用户名、密码或数据库名称;但是,如果提供了不正确的值,服务器将记录一次失败的连接尝试。
标准用法
$pg_isready/tmp:5432 - accepting connections$echo $?0
使用连接参数连接到正在启动的 PostgreSQL 集群
$pg_isready -h localhost -p 5433localhost:5433 - rejecting connections$echo $?1
使用连接参数连接到无响应的 PostgreSQL 集群
$pg_isready -h someremotehostsomeremotehost:5432 - no response$echo $?2