@@ -82,6 +82,7 @@ package PostgresNode;
82
82
use strict;
83
83
use warnings;
84
84
85
+ use Carp;
85
86
use Config;
86
87
use Cwd;
87
88
use Exporter' import' ;
@@ -359,7 +360,7 @@ sub set_replication_conf
359
360
my $pgdata =$self -> data_dir;
360
361
361
362
$self -> hosteq $test_pghost
362
- or die " set_replication_conf only works with the default host" ;
363
+ or croak " set_replication_conf only works with the default host" ;
363
364
364
365
open my $hba ,' >>' ," $pgdata /pg_hba.conf" ;
365
366
print $hba " \n # Allow replication (set up by PostgresNode.pm)\n " ;
@@ -624,7 +625,7 @@ sub init_from_backup
624
625
625
626
print
626
627
" # Initializing node\" $node_name \" from backup\" $backup_name \" of node\" $root_name \"\n " ;
627
- die " Backup\" $backup_name \" does not exist at$backup_path "
628
+ croak " Backup\" $backup_name \" does not exist at$backup_path "
628
629
unless -d $backup_path ;
629
630
630
631
mkdir $self -> backup_dir;
@@ -1445,7 +1446,7 @@ sub lsn
1445
1446
' replay' => ' pg_last_wal_replay_lsn()' );
1446
1447
1447
1448
$mode =' <undef>' if !defined ($mode );
1448
- die " unknown mode for 'lsn': '$mode ', valid modes are"
1449
+ croak " unknown mode for 'lsn': '$mode ', valid modes are"
1449
1450
.join (' ,' ,keys %modes )
1450
1451
if !defined ($modes {$mode });
1451
1452
@@ -1490,7 +1491,7 @@ sub wait_for_catchup
1490
1491
$mode =defined ($mode ) ?$mode :' replay' ;
1491
1492
my %valid_modes =
1492
1493
(' sent' => 1,' write' => 1,' flush' => 1,' replay' => 1);
1493
- die " unknown mode$mode for 'wait_for_catchup', valid modes are"
1494
+ croak " unknown mode$mode for 'wait_for_catchup', valid modes are"
1494
1495
.join (' ,' ,keys (%valid_modes ))
1495
1496
unless exists ($valid_modes {$mode });
1496
1497
@@ -1517,7 +1518,7 @@ sub wait_for_catchup
1517
1518
my $query =
1518
1519
qq[ SELECT$lsn_expr <=${mode} _lsn FROM pg_catalog.pg_stat_replication WHERE application_name = '$standby_name ';] ;
1519
1520
$self -> poll_query_until(' postgres' ,$query )
1520
- or die " timed out waiting for catchup" ;
1521
+ or croak " timed out waiting for catchup" ;
1521
1522
print " done\n " ;
1522
1523
}
1523
1524
@@ -1547,9 +1548,9 @@ sub wait_for_slot_catchup
1547
1548
$mode =defined ($mode ) ?$mode :' restart' ;
1548
1549
if (!($mode eq ' restart' ||$mode eq ' confirmed_flush' ))
1549
1550
{
1550
- die " valid modes are restart, confirmed_flush" ;
1551
+ croak " valid modes are restart, confirmed_flush" ;
1551
1552
}
1552
- die ' target lsn must be specified' unless defined ($target_lsn );
1553
+ croak ' target lsn must be specified' unless defined ($target_lsn );
1553
1554
print " Waiting for replication slot"
1554
1555
.$slot_name ." 's"
1555
1556
.$mode
@@ -1559,7 +1560,7 @@ sub wait_for_slot_catchup
1559
1560
my $query =
1560
1561
qq[ SELECT '$target_lsn ' <=${mode} _lsn FROM pg_catalog.pg_replication_slots WHERE slot_name = '$slot_name ';] ;
1561
1562
$self -> poll_query_until(' postgres' ,$query )
1562
- or die " timed out waiting for catchup" ;
1563
+ or croak " timed out waiting for catchup" ;
1563
1564
print " done\n " ;
1564
1565
}
1565
1566
@@ -1588,7 +1589,7 @@ null columns.
1588
1589
sub query_hash
1589
1590
{
1590
1591
my ($self ,$dbname ,$query ,@columns ) =@_ ;
1591
- die ' calls in array context for multi-row results not supported yet'
1592
+ croak ' calls in array context for multi-row results not supported yet'
1592
1593
if (wantarray );
1593
1594
1594
1595
# Replace __COLUMNS__ if found
@@ -1663,8 +1664,8 @@ sub pg_recvlogical_upto
1663
1664
1664
1665
my $timeout_exception =' pg_recvlogical timed out' ;
1665
1666
1666
- die ' slot name must be specified' unless defined ($slot_name );
1667
- die ' endpos must be specified' unless defined ($endpos );
1667
+ croak ' slot name must be specified' unless defined ($slot_name );
1668
+ croak ' endpos must be specified' unless defined ($endpos );
1668
1669
1669
1670
my @cmd = (
1670
1671
' pg_recvlogical' ,' -S' ,$slot_name ,' --dbname' ,
@@ -1674,7 +1675,7 @@ sub pg_recvlogical_upto
1674
1675
1675
1676
while (my ($k ,$v ) =each %plugin_options )
1676
1677
{
1677
- die " = is not permitted to appear in replication option name"
1678
+ croak " = is not permitted to appear in replication option name"
1678
1679
if ($k =~qr / =/ );
1679
1680
push @cmd ," -o" ," $k =$v " ;
1680
1681
}