Add PostgreSQL::Test::Cluster::is_alive()

This new routine acts as a wrapper of pg_isready, that can be run on a
node to check its connection status.  This will be used in a recovery
test in a follow-up commit.

Suggested-by: Andres Freund <andres@anarazel.de>
Author: Nazir Bilal Yavuz <byavuz81@gmail.com>
Discussion: https://postgr.es/m/CAN55FZ1D6KXvjSs7YGsDeadqCxNF3UUhjRAfforzzP0k-cE=bA@mail.gmail.com
This commit is contained in:
Michael Paquier
2025-07-19 14:38:52 +09:00
parent 3683af6170
commit d4c9195eff

View File

@ -290,6 +290,32 @@ sub connstr
=pod
=item $node->is_alive()
Check if the node is alive, using pg_isready.
Returns 1 if successful, 0 on failure.
=cut
sub is_alive
{
my ($self) = @_;
local %ENV = $self->_get_env();
my $ret = PostgreSQL::Test::Utils::system_log(
'pg_isready',
'--host' => $self->host,
'--port' => $self->port);
if ($ret != 0)
{
return 0;
}
return 1;
}
=pod
=item $node->raw_connect()
Open a raw TCP or Unix domain socket connection to the server. This is