181+deb9u1
) is not available, but a newer one is (181+deb9u2
). We redirected you there.
/usr/share/postgresql-common/t/080_start.conf.t is in postgresql-common 181+deb9u2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | # Check start.conf handling.
use strict;
use lib 't';
use TestLib;
use PgCommon;
use Test::More tests => 75;
my $systemd = -d '/var/run/systemd/system';
# Do test with oldest version
my $v = $MAJORS[0];
# create cluster
is ((system "pg_createcluster $v main >/dev/null"), 0, "pg_createcluster $v main");
# Check that we start with 'auto'
note "start.conf auto";
is ((get_cluster_start_conf $v, 'main'), 'auto',
'get_cluster_start_conf returns auto');
is_program_out 'nobody', "grep '^[^\\s#]' /etc/postgresql/$v/main/start.conf",
0, "auto\n", 'start.conf contains auto';
SKIP: {
skip 'not running under systemd', 2 unless ($systemd);
ok_dir '/var/run/systemd/generator/postgresql.service.wants',
["postgresql\@$v-main.service"],
"systemd generator links cluster";
is ((readlink "/var/run/systemd/generator/postgresql.service.wants/postgresql\@$v-main.service"),
"/lib/systemd/system/postgresql@.service",
"systemd generator links correct service file");
}
# init script should handle auto cluster
like_program_out 0, "/etc/init.d/postgresql start $v", 0, qr/Start.*($v|systemctl)/;
like_program_out 'postgres', 'pg_lsclusters -h', 0, qr/online/, 'cluster is online';
like_program_out 0, "/etc/init.d/postgresql stop $v", 0, qr/Stop.*($v|systemctl)/;
sleep 3 if ($systemd); # FIXME: systemctl stop postgresql is not yet synchronous (#759725)
like_program_out 'postgres', 'pg_lsclusters -h', 0, qr/down/, 'cluster is down';
# change to manual, verify start.conf contents
note "start.conf manual";
set_cluster_start_conf $v, 'main', 'manual';
is ((get_cluster_start_conf $v, 'main'), 'manual',
'get_cluster_start_conf returns manual');
is_program_out 'nobody', "grep '^[^\\s#]' /etc/postgresql/$v/main/start.conf",
0, "manual\n", 'start.conf contains manual';
SKIP: {
skip 'not running under systemd', 1 unless ($systemd);
system "systemctl daemon-reload";
ok_dir '/var/run/systemd/generator/postgresql.service.wants',
[], "systemd generator doesn't link cluster";
}
# init script should not handle manual cluster ...
like_program_out 0, "/etc/init.d/postgresql start $v", 0, qr/Start.*($v|systemctl)/;
like_program_out 'postgres', 'pg_lsclusters -h', 0, qr/down/, 'cluster is down';
# pg_ctlcluster should handle manual cluster
is_program_out 'postgres', "pg_ctlcluster $v main start", 0, '';
like_program_out 'postgres', 'pg_lsclusters -h', 0, qr/online/, 'cluster is online';
is_program_out 'postgres', "pg_ctlcluster $v main stop", 0, '';
like_program_out 'postgres', 'pg_lsclusters -h', 0, qr/down/, 'cluster is down';
# change to disabled, verify start.conf contents
note "start.conf disabled";
set_cluster_start_conf $v, 'main', 'disabled';
is ((get_cluster_start_conf $v, 'main'), 'disabled',
'get_cluster_start_conf returns disabled');
SKIP: {
skip 'not running under systemd', 1 unless ($systemd);
system "systemctl daemon-reload";
ok_dir '/var/run/systemd/generator/postgresql.service.wants',
[], "systemd generator doesn't link cluster";
}
# init script should not handle disabled cluster
like_program_out 0, "/etc/init.d/postgresql start $v", 0, qr/Start.*($v|systemctl)/;
like_program_out 'postgres', 'pg_lsclusters -h', 0, qr/down/, 'cluster is down';
# pg_ctlcluster should not start disabled cluster
is_program_out 'postgres', "pg_ctlcluster $v main start", 1,
"Error: Cluster is disabled\n";
like_program_out 'postgres', 'pg_lsclusters -h', 0, qr/down/, 'cluster is down';
# change back to manual, start cluster
set_cluster_start_conf $v, 'main', 'manual';
is_program_out 'postgres', "pg_ctlcluster $v main start", 0, '';
like_program_out 'postgres', 'pg_lsclusters -h', 0, qr/online/, 'cluster is online';
# however, we want to stop disabled clusters
set_cluster_start_conf $v, 'main', 'disabled';
is_program_out 'postgres', "pg_ctlcluster $v main stop", 0, '';
like_program_out 'postgres', 'pg_lsclusters -h', 0, qr/down/, 'cluster is down';
# set back to manual
set_cluster_start_conf $v, 'main', 'manual';
is_program_out 'postgres', "pg_ctlcluster $v main start", 0, '';
like_program_out 'postgres', 'pg_lsclusters -h', 0, qr/online/, 'cluster is online';
# upgrade cluster
note "test upgrade";
if ($#MAJORS == 0) {
pass 'only one major version installed, skipping upgrade test';
pass '...';
} else {
like_program_out 0, "pg_upgradecluster -v $MAJORS[-1] $v main", 0, qr/Success/;
}
# check start.conf of old and upgraded cluster
is ((get_cluster_start_conf $v, 'main'), 'manual',
'get_cluster_start_conf for old cluster returns manual');
is ((get_cluster_start_conf $MAJORS[-1], 'main'), 'manual',
'get_cluster_start_conf for new cluster returns manual');
# clean up
if ($#MAJORS == 0) {
pass '...';
} else {
is ((system "pg_dropcluster $v main"), 0,
'dropping old cluster');
}
is ((system "pg_dropcluster $MAJORS[-1] main --stop"), 0,
'dropping upgraded cluster');
is_program_out 'postgres', 'pg_lsclusters -h', 0, '', 'no clusters any more';
# create cluster with --start-conf option
is_program_out 0, "pg_createcluster $v main --start-conf foo", 1,
"Error: Invalid --start-conf value: foo\n",
'pg_createcluster checks --start-conf validity';
is ((system "pg_createcluster $v main --start-conf manual >/dev/null"), 0,
'pg_createcluster checks --start-conf manual');
is ((get_cluster_start_conf $v, 'main'), 'manual',
'get_cluster_start_conf returns manual');
is ((system "pg_dropcluster $v main"), 0,
'dropping cluster');
check_clean;
# vim: filetype=perl
|