我正在拼命寻找一种简单的方法来定期检查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服务器,但结果仍然是1
。我做错了吗?
如果没有,如果数据库服务器还活着,我该如何最好地检查?
提前致谢。