pg_isready

一个检查PostgreSQL服务器连接状态的核心实用程序

pg_isready 是一个 核心实用程序,用于检查PostgreSQL服务器的连接状态。

pg_isready 添加于 PostgreSQL 9.3 中。

用法

pg_isready 使用提供的连接详细信息启动服务器连接,并根据服务器的响应(或无响应)确定服务器状态。

请注意,pg_isready 实际上从未连接到数据库,并且不需要提供有效的数据库、用户或密码来检查服务器的响应。但是服务器会记录连接尝试的有效性。

更改历史记录

pg_isready 自其在 PostgreSQL 9.3 中引入以来,没有进行过实质性的修改。

示例

pg_isready 的基本用法示例

postgres $ pg_isready -d 'user=postgres dbname=postgres host=localhost port=5432'
localhost:5432 - accepting connections
postgres $ echo $?
0

日志文件将包含以下条目(假设 log_connections 设置为 on

2022-09-02 10:02:25.015 UTC [31325] LOG:  connection received: host=127.0.0.1 port=36628
2022-09-02 10:02:25.015 UTC [31325] LOG:  connection authorized: user=postgres database=postgres application_name=pg_isready

尝试连接到使用无效用户名和/或数据库名的服务器

postgres $ pg_isready -d 'user=nosuchuser dbname=nosuchdb host=localhost port=5432'
localhost:5432 - accepting connections
postgres $ echo $?
0

日志文件将包含以下条目

2022-09-01 10:12:18.711 UTC [32711] LOG:  connection authorized: user=nosuchuser database=nosuchdb application_name=pg_isready
2022-09-01 10:12:18.711 UTC [32711] FATAL:  role "nosuchuser" does not exist

尝试连接到当前没有服务器运行的端口

postgres $ pg_isready -d 'user=postgres dbname=postgres host=localhost port=9999'
localhost:9999 - no response
postgres $ echo $?
2

分类

核心实用程序数据库连接监控

反馈

提交任何关于 "pg_isready" 的评论、建议或更正 此处