001_restart.pl
application/x-perl
Filename: 001_restart.pl
Type: application/x-perl
Part: 1
# Test postgres_fdw reaction on target server disconnection
# (target server part)
use strict;
use warnings;
use PostgreSQL::Test::Utils;
use Test::More tests => 1;
use PostgreSQL::Test::Cluster;
use Time::HiRes qw( time );
use DateTime;
my $foreign = PostgreSQL::Test::Cluster->new('foreign', port => 54321);
$foreign->init();
$foreign->append_conf(
'postgresql.conf', qq{
listen_addresses = '*'
log_min_messages = DEBUG1
log_min_error_statement = log
log_connections = on
log_disconnections = on
log_line_prefix = '%m|%u|%d|%c|'
log_statement = 'all'
});
$foreign->append_conf('pg_hba.conf',
qq{host all all 1.0.0.0/24 trust});
$foreign->start;
$foreign->safe_psql('postgres', qq{
CREATE TABLE large(a int, t text);
INSERT INTO large SELECT x, rpad(x::text, 100) FROM generate_series(0, 999999) x;
});
diag(`ipconfig`);
diag("server port: " . $foreign->port);
sleep(10);
for (my $i = 0; $i < 1000; $i++) {
sleep(5);
diag(DateTime->from_epoch( epoch => time )->strftime('%H:%M:%S.%6N') . " restarting server...");
$foreign->restart();
}
ok(1);