我想知道是否有替代 psql 命令的方法来测试使用 bash 与 postgresql 数据库的连接。
我正在设置一个核心操作系统集群并有一个辅助服务,它应该每分钟执行一次相当于 psql 'host=xxx port=xxx dbname=xxx user=xxx'
以确定服务是否正在运行,更重要的是,如果可以使用给定的连接到它参数)。
我不能直接在 Core OS 上安装 postgres。 Core OS 中通常使用的命令类似于 curl -f ${COREOS_PUBLIC_IPV4}:%i;
。但它只告诉服务本身是否在给定端口上运行,没有任何访问检查。
先感谢您!
原文由 Raphael 发布,翻译遵循 CC BY-SA 4.0 许可协议
pg_isready
是一个用于检查 PostgreSQL 数据库服务器连接状态的实用程序。退出状态指定连接检查的结果。它可以很容易地在 bash 中使用。 PostgresSQL 文档 - pg_isready
示例用法:
安装
退出状态
pg_isready
将以下内容返回给 shell:注意:
man pg_isready
声明: 不需要提供正确的用户名、密码或数据库名称值来获取服务器状态;但是,如果提供了不正确的值,服务器将记录失败的连接尝试。