Package: release.debian.org Severity: normal Tags: jessie User: release.debian....@packages.debian.org Usertags: pu
Hi, I'd like to include the patch quoted below in jessie, would this be ok? diff --git a/debian/changelog b/debian/changelog index 7751170..0d6bd4f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,24 @@ +postgresql-common (165+deb8u1) jessie; urgency=medium + + * pg_upgradecluster: Set default dynamic_shared_memory_type = mmap. + (Closes: #784005, #812206) + + This primarily avoids problems with upgrading existing clusters in a LXC + container. As earlier PG versions did not have d_s_m_t, the upgraded + postgresql.conf won't have this setting either, yielding the compiled-in + default of 'posix' which doesn't work in LXC. Pick something else here to + avoid that problem. Notably, it's important that this problem is fixed in + pg_upgradecluster itself because working around the problem is hard as the + upgrade will fail early without the possibility of manually fixing the + config. (Newly created clusters do not have that problem because initdb + probes for a method working in the given system.) + + * t/040_upgrade.t: Skip testing pg_upgrade with datallowconn = f, it does + not support that anymore as of May 2015. + (Cherry-pick from master to allow testing the pg_upgradecluster fix) + + -- Christoph Berg <m...@debian.org> Sat, 26 Mar 2016 16:52:30 +0100 + postgresql-common (165) unstable; urgency=medium * Debconf translation updates, thanks! diff --git a/pg_upgradecluster b/pg_upgradecluster index db541be..876a0af 100755 --- a/pg_upgradecluster +++ b/pg_upgradecluster @@ -170,6 +170,11 @@ sub adapt_conffiles { if ($newversion >= '9.4') { deprecate \%c, 'krb_srvname', 'native krb5 authentication deprecated in favor of GSSAPI'; + # d_s_m_t defaults to 'posix', but that has various problems. Pick a safer variant here + unless ($c{dynamic_shared_memory_type}) { + PgCommon::set_conf_value $newversion, $cluster, 'postgresql.conf', + 'dynamic_shared_memory_type', 'mmap'; + } } } diff --git a/t/040_upgrade.t b/t/040_upgrade.t index 00c1c17..5edf305 100644 --- a/t/040_upgrade.t +++ b/t/040_upgrade.t @@ -32,8 +32,11 @@ is ((exec_as 'postgres', 'createuser nobody -D -R -s && createdb -O nobody test is ((exec_as 'nobody', 'psql test -c "CREATE TABLE phone (name varchar(255) PRIMARY KEY, tel int NOT NULL)"'), 0, 'create table'); is ((exec_as 'nobody', 'psql test -c "INSERT INTO phone VALUES (\'Alice\', 2)"'), 0, 'insert Alice into phone table'); -is ((exec_as 'postgres', 'psql template1 -c "UPDATE pg_database SET datallowconn = \'f\' WHERE datname = \'testnc\'"'), - 0, 'disallow connection to testnc'); +SKIP: { + skip 'datallowconn = f not supported with pg_upgrade', 1 if $upgrade_options =~ /upgrade/; + is ((exec_as 'postgres', 'psql template1 -c "UPDATE pg_database SET datallowconn = \'f\' WHERE datname = \'testnc\'"'), + 0, 'disallow connection to testnc'); +} is ((exec_as 'nobody', 'psql testro -c "CREATE TABLE nums (num int NOT NULL); INSERT INTO nums VALUES (1)"'), 0, 'create table in testro'); SKIP: { skip 'read-only not supported with pg_upgrade', 2 if $upgrade_options =~ /upgrade/; @@ -195,14 +198,15 @@ SKIP: { skip 'upgrading databases with datallowcon = false not supported by pg_upgrade', 2 if $upgrade_options =~ /upgrade/; # Check connection permissions + my $testnc_conn = $upgrade_options =~ /upgrade/ ? 't' : 'f'; is_program_out 'nobody', 'psql -tAc "SELECT datname, datallowconn FROM pg_database ORDER BY datname" template1', 0, - 'postgres|t + "postgres|t template0|f template1|t test|t -testnc|f +testnc|$testnc_conn testro|t -', 'dataallowconn values'; +", 'dataallowconn values'; } # check ACLs Christoph
signature.asc
Description: PGP signature