~ubuntu-branches/ubuntu/hardy/postgresql-common/hardy-proposed

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/usr/bin/perl -wT
# Show all PostgreSQL clusters in a list
#
# (C) 2005 Martin Pitt <mpitt@debian.org>

use lib '/usr/share/postgresql-common';
use PgCommon;
use Getopt::Long;

exit 1 unless GetOptions ('h|no-header' => \$no_header);

@columns = ('Version', 'Cluster', 'Port', 'Status', 'Owner', 'Data directory',
            'Log file');
@colwidths = qw/7 9 4 6 8 34 1/;

foreach $cw (@colwidths) {
    $fmtstring .= ' ' if $fmtstring;
    $fmtstring .= '%-'.$cw.'s';
}
$fmtstring .= "\n";

printf $fmtstring, @columns unless $no_header;

foreach $v (sort (get_versions())) {
    my @clusters = get_version_clusters $v;
    foreach $c (sort @clusters) {
        %info = cluster_info $v, $c;
        printf $fmtstring, ($v, $c, $info{'port'}, 
            $info{'running'} ? "online" : "down", 
            (getpwuid $info{'owneruid'})[0], $info{'pgdata'},
            $info{'logfile'} || 'custom');
    }
}

__END__

=head1 NAME

pg_lsclusters - show information about all PostgreSQL clusters

=head1 SYNOPSIS

B<pg_lsclusters> [I<options>]

=head1 DESCRIPTION

This command shows a list about the configuration and status of all clusters.

=head1 OPTIONS

=over 4

=item B<-h>, B<--no-header>

Do not print the column header line.

=head1 AUTHOR

Martin Pitt L<E<lt>mpitt@debian.orgE<gt>>