我拼命地试图找到一种简单的方法来定期检查 PGSQL 服务器是否仍然存在于 perl 脚本中。我打算为此使用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-server,但结果仍然是1
. 我做错什么了吗?
如果没有,我如何最好地检查数据库服务器是否还活着?
提前致谢。