summaryrefslogtreecommitdiff
path: root/databases/pgpool-II-30/files/pgpool_remote_start
blob: 1c044aef90cb14586657a5ab32e5b82fc02ebdc0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/perl
#
# $FreeBSD$

use strict;
use warnings;

my ($host, $dir) = @ARGV;

my $logger = "logger -t pgpool -p local0.info";
my $pgctl = "/usr/local/bin/pg_ctl -D $dir";
my ($fh, $log);

if (not open($fh, "ssh pgsql\@$host $pgctl -t 5 -w -s -m fast start 2>&1 |")) {
  die "cannot open ssh: $!";
}
if (not open($log, "| $logger")) {
  die "cannot open logger: $!";
}
while (<$fh>) {
  print $log $_;
}
close($fh) or die "close(ssh) failed: $!";
close($log) or die "close(logger): $!";

system("ssh pgsql\@$host $pgctl status 2>&1") == 0 or die "pg_ctl status failed";