如何检查 PGSQL 服务器是否仍然使用 DBD::P G 处于活动状态



我拼命地试图找到一种简单的方法来定期检查 perl 脚本中的 PGSQL 服务器是否还活着。我打算为此使用 pg_ping,但在我的测试中,pg_ping总是返回 1,与数据库服务器状态无关。

这是我尝试过的代码:

#!/usr/bin/perl
use strict;
use warnings;
use DBD::Pg;
my $dbh=DBI->connect("DBI:Pg:dbname=healthcheck;host=vm0484","healthcheck","areyoustillthere");
for (my $i=1;$i<100;$i++) {
print "$i. pg_ping: ".$dbh->pg_ping."n";
sleep(1);
}

然后我在另一个窗口中使用kill -9手动终止 PGSQL 服务器,但结果仍然1。我做错了什么吗?

如果不是,如何最好地检查数据库服务器是否还处于活动状态?

提前谢谢。

您可以

手动执行查询,例如

select 1 as is_alive

正如ping()也声称要做类似的事情一样,

ping 方法发出空查询并检查结果状态。

相关内容

  • 没有找到相关文章

最新更新