Control: severity -1 normal Control: retitle -1 postgresql needs restart on libc/nss upgrade Control: reassign -1 libc6 Control: affects -1 postgresql-common
Re: To Matthew Gabeler-Lee 2013-12-18 <20131218164859.ge22...@msgid.df7cb.de> > I've just tried the upgrade, and it is also there with "peer" > authentication because that also goes through nss, so it has the same > problem as the usual "pam upgrade needs to restart services": > (base-wheezy-amd64.cow)root@pgdgbuild:/# sudo -u postgres psql > psql: FATAL: Peer authentication failed for user "postgres" > > (base-wheezy-amd64.cow)root@pgdgbuild:/# cat > /var/log/postgresql/postgresql-9.1-main.log > ... > 2013-12-18 16:42:47 UTC LOG: local user with ID 101 does not exist > 2013-12-18 16:42:47 UTC FATAL: Peer authentication failed for user "postgres" I've finally taken a closer look at the situation here. There is code in libc6:amd64.preinst to restart services on upgrade, but I believe the check is incomplete because it requires "postgresql" to be installed, while the actual server package is called postgresql-9.6, postgresql-10, etc. (the "postgresql" meta package is optional): check="kdm postgresql xdm" # NSS services check: echo -n "Checking for services that may need to be restarted..." # Only get the ones that are installed, and configured check=$(dpkg -s $check 2> /dev/null | egrep '^Package:|^Status:' | awk '{if ($1 ~ /^Package:/) { package=$2 } else if ($0 ~ /^Status: .* installed$/) { print package }}') # some init scripts don't match the package names check=$(echo $check | \ sed -e's/\bapache2.2-common\b/apache2/g' \ -e's/\bat\b/atd/g' \ -e's/\bdovecot-common\b/dovecot/g' \ -e's/\bexim4-base\b/exim4/g' \ -e's/\blpr\b/lpd/g' \ -e's/\blpr-ppd\b/lpd-ppd/g' \ -e's/\bmysql-server\b/mysql/g' \ -e's/\bsasl2-bin\b/saslauthd/g' \ ) What should work is to check for "postgresql-common" to be installed, and then map the init script name back to "postgresql". This is what libpam0g does, see libpam0g:amd64.postinst. libc maintainers: could you implement that? Thanks, Christoph
signature.asc
Description: PGP signature