43
43
sub new
44
44
{
45
45
my $class = shift ;
46
+ my $name = shift ;
46
47
my $pghost = shift ;
47
48
my $pgport = shift ;
48
49
my $testname = basename($0 );
@@ -51,8 +52,8 @@ sub new
51
52
_port => $pgport ,
52
53
_host => $pghost ,
53
54
_basedir => TestLib::tempdir,
54
- _applname => " node_ $pgport " ,
55
- _logfile => " $TestLib::log_path /${testname} _node_ ${pgport } .log" };
55
+ _name => $name ,
56
+ _logfile => " $TestLib::log_path /${testname} _ ${name } .log" };
56
57
57
58
bless $self , $class ;
58
59
$self -> dump_info;
@@ -78,10 +79,10 @@ sub basedir
78
79
return $self -> {_basedir };
79
80
}
80
81
81
- sub applname
82
+ sub name
82
83
{
83
84
my ($self ) = @_ ;
84
- return $self -> {_applname };
85
+ return $self -> {_name };
85
86
}
86
87
87
88
sub logfile
@@ -127,11 +128,11 @@ sub backup_dir
127
128
sub dump_info
128
129
{
129
130
my ($self ) = @_ ;
131
+ print " Name: " . $self -> name . " \n " ;
130
132
print " Data directory: " . $self -> data_dir . " \n " ;
131
133
print " Backup directory: " . $self -> backup_dir . " \n " ;
132
134
print " Archive directory: " . $self -> archive_dir . " \n " ;
133
135
print " Connection string: " . $self -> connstr . " \n " ;
134
- print " Application name: " . $self -> applname . " \n " ;
135
136
print " Log file: " . $self -> logfile . " \n " ;
136
137
}
137
138
@@ -178,7 +179,7 @@ sub init
178
179
TestLib::system_or_bail($ENV {PG_REGRESS }, ' --config-auth' , $pgdata );
179
180
180
181
open my $conf , " >>$pgdata /postgresql.conf" ;
181
- print $conf " \n # Added by PostgresNode.pm) \n " ;
182
+ print $conf " \n # Added by PostgresNode.pm\n " ;
182
183
print $conf " fsync = off\n " ;
183
184
print $conf " log_statement = all\n " ;
184
185
print $conf " port = $port \n " ;
@@ -210,8 +211,9 @@ sub backup
210
211
my ($self , $backup_name ) = @_ ;
211
212
my $backup_path = $self -> backup_dir . ' /' . $backup_name ;
212
213
my $port = $self -> port;
214
+ my $name = $self -> name;
213
215
214
- print " # Taking backup $backup_name from node with port $port \n " ;
216
+ print " # Taking backup $backup_name from node \" $name \" \n" ;
215
217
TestLib::system_or_bail(" pg_basebackup -D $backup_path -p $port -x" );
216
218
print " # Backup finished\n " ;
217
219
}
@@ -221,11 +223,13 @@ sub init_from_backup
221
223
my ($self , $root_node , $backup_name ) = @_ ;
222
224
my $backup_path = $root_node -> backup_dir . ' /' . $backup_name ;
223
225
my $port = $self -> port;
224
- my $root_port = $root_node -> port;
226
+ my $node_name = $self -> name;
227
+ my $root_name = $root_node -> name;
225
228
226
229
print
227
- " Initializing node $port from backup \" $backup_name \" of node $root_port \n " ;
228
- die " Backup $backup_path does not exist" unless -d $backup_path ;
230
+ " # Initializing node \" $node_name \" from backup \" $backup_name \" of node \" $root_name \"\n " ;
231
+ die " Backup \" $backup_name \" does not exist at $backup_path "
232
+ unless -d $backup_path ;
229
233
230
234
mkdir $self -> backup_dir;
231
235
mkdir $self -> archive_dir;
@@ -249,7 +253,8 @@ sub start
249
253
my ($self ) = @_ ;
250
254
my $port = $self -> port;
251
255
my $pgdata = $self -> data_dir;
252
- print (" ### Starting test server in $pgdata \n " );
256
+ my $name = $self -> name;
257
+ print (" ### Starting node \" $name \"\n " );
253
258
my $ret = TestLib::system_log(' pg_ctl' , ' -w' , ' -D' , $self -> data_dir, ' -l' ,
254
259
$self -> logfile, ' start' );
255
260
@@ -261,16 +266,16 @@ sub start
261
266
}
262
267
263
268
$self -> _update_pid;
264
-
265
269
}
266
270
267
271
sub stop
268
272
{
269
273
my ($self , $mode ) = @_ ;
270
274
my $port = $self -> port;
271
275
my $pgdata = $self -> data_dir;
276
+ my $name = $self -> name;
272
277
$mode = ' fast' if (!defined ($mode ));
273
- print " ### Stopping node in $pgdata with port $port using mode $mode \n " ;
278
+ print " ### Stopping node \" $name \" using mode $mode \n " ;
274
279
TestLib::system_log(' pg_ctl' , ' -D' , $pgdata , ' -m' , $mode , ' stop' );
275
280
$self -> {_pid } = undef ;
276
281
$self -> _update_pid;
@@ -282,6 +287,8 @@ sub restart
282
287
my $port = $self -> port;
283
288
my $pgdata = $self -> data_dir;
284
289
my $logfile = $self -> logfile;
290
+ my $name = $self -> name;
291
+ print " ### Restarting node \" $name \"\n " ;
285
292
TestLib::system_log(' pg_ctl' , ' -D' , $pgdata , ' -w' , ' -l' , $logfile ,
286
293
' restart' );
287
294
$self -> _update_pid;
@@ -290,14 +297,15 @@ sub restart
290
297
sub _update_pid
291
298
{
292
299
my $self = shift ;
300
+ my $name = $self -> name;
293
301
294
302
# If we can open the PID file, read its first line and that's the PID we
295
303
# want. If the file cannot be opened, presumably the server is not
296
304
# running; don't be noisy in that case.
297
305
if (open my $pidfile , $self -> data_dir . " /postmaster.pid" )
298
306
{
299
307
chomp ($self -> {_pid } = <$pidfile >);
300
- print " # Postmaster PID is $self ->{_pid}\n " ;
308
+ print " # Postmaster PID for node \" $name \" is $self ->{_pid}\n " ;
301
309
close $pidfile ;
302
310
return ;
303
311
}
@@ -316,6 +324,7 @@ sub _update_pid
316
324
# for another node even when this one is not active.
317
325
sub get_new_node
318
326
{
327
+ my $name = shift ;
319
328
my $found = 0;
320
329
my $port = $last_port_assigned ;
321
330
@@ -340,7 +349,7 @@ sub get_new_node
340
349
print " # Found free port $port \n " ;
341
350
342
351
# Lock port number found by creating a new node
343
- my $node = new PostgresNode($test_pghost , $port );
352
+ my $node = new PostgresNode($name , $ test_pghost , $port );
344
353
345
354
# Add node to list of nodes
346
355
push (@all_nodes , $node );
@@ -354,8 +363,9 @@ sub get_new_node
354
363
sub DESTROY
355
364
{
356
365
my $self = shift ;
366
+ my $name = $self -> name;
357
367
return if not defined $self -> {_pid };
358
- print " # signalling QUIT to $self ->{_pid}\n " ;
368
+ print " ### Signalling QUIT to $self ->{_pid} for node \" $name \" \n" ;
359
369
TestLib::system_log(' pg_ctl' , ' kill' , ' QUIT' , $self -> {_pid });
360
370
}
361
371
@@ -371,7 +381,8 @@ sub psql
371
381
my ($self , $dbname , $sql ) = @_ ;
372
382
373
383
my ($stdout , $stderr );
374
- print (" # Running SQL command: $sql \n " );
384
+ my $name = $self -> name;
385
+ print (" ### Running SQL command on node \" $name \" : $sql \n " );
375
386
376
387
IPC::Run::run [ ' psql' , ' -XAtq' , ' -d' , $self -> connstr($dbname ), ' -f' ,
377
388
' -' ], ' <' , \$sql , ' >' , \$stdout , ' 2>' , \$stderr
0 commit comments