PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

pg_isready

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

Synopsis

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

描述

pg_isready 是一个用于检查 PostgreSQL 数据库服务器连接状态的工具。退出状态给出了连接检查的结果。

选项

-d dbname
--dbname=dbname

指定要连接的数据库的名称。dbname 可以是一个 connection string。如果是这样,连接字符串参数将覆盖任何与之冲突的命令行选项。

-h hostname
--host=hostname

指定服务器所在机器的主机名。如果该值以斜杠开头,则它被用作 Unix 域套接字的目录。

-p port
--port=port

指定服务器正在其上监听连接的 TCP 端口或本地 Unix 域套接字文件扩展名。默认取 PGPORT 环境变量的值,如果未设置,则使用编译时指定的端口,通常是 5432。

-q
--quiet

不显示状态消息。这在编写脚本时很有用。

-t seconds
--timeout=seconds

在返回服务器没有响应的结果之前,尝试连接时等待的最大秒数。设置为 0 表示禁用此等待。默认值为 3 秒。

-U username
--username=username

使用用户 username(而不是默认用户)连接到数据库。

-V
--version

打印 pg_isready 的版本并退出。

-?
--help

显示关于 pg_isready 命令行参数的帮助并退出。

退出状态

如果服务器正在正常地接受连接,pg_isready 会向 shell 返回 0;如果服务器正在拒绝连接(例如在启动期间),则返回 1;如果连接尝试没有得到响应,则返回 2;如果没有进行尝试(例如由于参数无效),则返回 3。

环境

pg_isready 与大多数其他 PostgreSQL 工具一样,也会使用 libpq 支持的环境变量(参见 Section 32.15)。

环境变量 PG_COLOR 指定是否在诊断消息中使用颜色。可能的取值有 always、auto 和 never。

注记

要获得服务器状态,不需要提供正确的用户名、密码或数据库名称值;不过,如果提供了不正确的值,服务器将记录一次失败的连接尝试。

示例

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