PostgreSQL自带的命令行工具06- pg_isready

PostgreSQL自带的命令行工具06- pg_isready

基础信息
OS版本:Red Hat Enterprise Linux Server release 7.9 (Maipo)
DB版本:16.2
pg软件目录:/home/pg16/soft
pg数据目录:/home/pg16/data
端口:5777

pg_isready 是 PostgreSQL 中的一个命令行工具,用来检查 PostgreSQL 服务器是否可以接收连接。这个命令通常用于脚本中,以自动化地检查数据库服务的状态,特别是在启动脚本、监控系统或在持续集成流程中等待数据库服务准备就绪的场景。

通过help查看帮助文档。

[pg16@test ~]$ pg_isready --help
pg_isready issues a connection check to a PostgreSQL database.

Usage:
  pg_isready [OPTION]...

Options:
  -d, --dbname=DBNAME      database name
  -q, --quiet              run quietly
  -V, --version            output version information, then exit
  -?, --help               show this help, then exit

Connection options:
  -h, --host=HOSTNAME      database server host or socket directory
  -p, --port=PORT          database server port
  -t, --timeout=SECS       seconds to wait when attempting connection, 0 disables (default: 3)
  -U, --username=USERNAME  user name to connect as

Report bugs to <pgsql-bugs@lists.postgresql.org>.
PostgreSQL home page: <https://www.postgresql.org/>

使用方式

基本的命令格式如下:

pg_isready [选项]

你可以使用不同的选项来指定要检查的 PostgreSQL 服务器的详细信息,比如主机、端口、用户名和数据库名称。

常用选项

  • -h--host=HOSTNAME:指定要连接的服务器的主机名。默认是本地主机。
  • -p--port=PORT:指定服务器侦听的端口。默认端口是 5432。
  • -U--username=USERNAME:指定连接数据库的用户名。默认是当前的用户。
  • -d--dbname=DBNAME:指定连接测试的数据库名。默认是与用户名相同的数据库。
  • -t--timeout=SECS:在报告失败之前等待连接成功的最大秒数。默认没有超时(等待无限长)。
  • -V--version:输出 pg_isready 的版本信息。
  • -?--help:显示帮助信息。

输出状态

pg_isready 通过退出状态码来指示服务器的准备状态:

  • 0:服务器正在运行并且可以接收连接。
  • 1:服务器正在运行,但是拒绝连接(可能是因为达到了最大连接数,或者是在维护模式)。
  • 2:无法连接到服务器。这可能是因为服务器没有运行,或者连接详情(比如主机名或端口)不正确。
  • 3:没有尝试连接(通常是因为命令行选项错误)。

示例

检查本地主机上默认端口的 PostgreSQL 服务器状态:

[pg16@test ~]$ pg_isready
/tmp:5777 - accepting connections

检查特定主机192.168.10.99 和端口5777上的服务器状态:

[pg16@test ~]$ pg_isready -h 192.168.10.99 -p 5777
192.168.10.99:5777 - accepting connections

检查特定数据库white和用户postgres的连接状态:

[pg16@test ~]$ pg_isready -d white -U postgres
/tmp:5777 - accepting connections

pg_isready 工具特别适用于那些需要编程方式来确认数据库服务是否就绪的场景,例如,在自动化部署或健康检查脚本中。

谨记:心存敬畏,行有所止。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL是一种开源的关系型数据库,它提供了多种管理工具来操作数据库,其中包括psql和pg_dump命令。 psql是一种命令工具,可以用来与PostgreSQL数据库进交互。它不仅能够执SQL语句,还可以支持交互式命令。在使用psql命令时,有时需要在命令中包含密码信息。可以使用以下的方式来在命令密码执SQL语句: 1. 在命令中输入psql命令,启动psql工具。 2. 输入连接数据库的命令,例如:psql -U username -d dbname -h hostname -p port。 3. 输入密码,此时必须在命令中输入密码。 4. 执SQL语句,例如:SELECT * FROM tablename; pg_dump是PostgreSQL数据库备份工具,可以用来将数据库中的数据导出到一个文件中。使用pg_dump命令时,也需要在命令中包含密码信息。可以使用以下的方式在命令密码执pg_dump命令: 1. 在命令中输入pg_dump命令,启动pg_dump工具。 2. 输入数据库连接信息和密码,例如:pg_dump -U username -d dbname -h hostname -p port -W。 3. 执备份操作,例如:pg_dump -U username -d dbname -h hostname -p port -W > backup.sql。 总的来说,在使用psql和pg_dump命令时,为了在命令中包含密码信息,需要使用“-W”参数将密码输入到命令中。当然,这种方式存在一定的安全隐患,因为密码可以被其他人看到。因此,最好使用其他方式来进密码管理,例如使用配置文件、环境变量或者其他安全的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值