[Pkg-postgresql-public] Bug#825814: postgresql-9.1: postgresql refuses connection with setlocale error after localgen is run
Michael Braun
michael-dev at fami-braun.de
Mon May 30 09:33:00 UTC 2016
Package: postgresql-9.1
Version: 9.1.22-0+deb7u1
Severity: important
Dear Maintainer,
* What led up to the situation?
I'm running unattended-upgrade which recently upgraded the locales package.
That triggered running locale-gen, and the problem also appears when running locale-gen alone.
* What exactly did you do (or not do) that was effective (or
ineffective)?
I tried to connect using psql to a local postgresql server installation.
* What was the outcome of this action?
psql: FATAL: Datenbank-Locale ist inkompatibel mit Betriebssystem
DETAIL: Die Datenbank wurde mit LC_COLLATE >>en_US.UTF-8<< initialisiert, was von setlocale() nicht erkannt wird.
TIP: Erzeugen Sie die Datenbank neu mit einer anderen Locale oder installieren Sie die fehlende Locale.
* What outcome did you expect instead?
A normal prompt letting me access the database.
* Debug
strace says
25055 munmap(0xb7256000, 4096) = 0
25055 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 7
25055 fstat64(7, {st_mode=S_IFREG|0644, st_size=3926944, ...}) = 0
25055 close(7) = 0
25055 open("/usr/lib/locale/en_US.UTF-8/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory)
25055 open("/usr/lib/locale/en_US.utf8/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory)
25055 open("/usr/lib/locale/en_US/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory)
25055 open("/usr/lib/locale/en.UTF-8/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory)
25055 open("/usr/lib/locale/en.utf8/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory)
25055 open("/usr/lib/locale/en/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory)
25055 time(NULL) = 1464599678
25055 time(NULL) = 1464599678
25055 time(NULL) = 1464599678
25055 write(2, "2016-05-30 11:14:38 CEST FATAL: Datenbank-Locale ist inkompatibel mit Betriebssystem\n2016-05-30 11:14:38 CEST DETAIL: Die Datenbank wurde mit LC_COLLATE >>en_US.UTF-8<< initialisiert, was von setlocale() nicht erkannt wird.\n2016-05-30 11:14:38 CEST TIPP: Erzeugen Sie die Datenbank neu mit einer anderen Locale oder installieren Sie die fehlende Locale.\n", 357) = 357
25055 send(9, "R\0\0\0\10\0\0\0\0E\0\0\1:SFATAL\0CXX000\0MDatenbank-Locale ist inkompatibel mit Betriebssystem\0DDie Datenbank wurde mit LC_COLLATE >>en_US.UTF-8<< initialisiert, was von setlocale() nicht erkannt wird.\0HErzeugen Sie die Datenbank neu mit einer anderen Locale oder installieren Sie die fehlende Locale.\0Fpostinit.c\0L338\0RCheckMyDatabase\0\0", 324, 0) = 324
25055 gettimeofday({1464599678, 833943}, NULL) = 0
so locale-archive is not read.
lsof says
postgres 13643 postgres DEL REG 9,126 415433 /usr/lib/locale/locale-archive
Manually restarting postgresql "fixes" the issue for me.
Currently I'm trying to workaround using
$ localedef --no-archive -f UTF-8 -i en_US en_US.UTF-8
But this really should not be needed as I guess it will not become updated automatically.
Regards,
M. Braun
-- System Information:
Debian Release: 7.10
APT prefers oldstable-updates
APT policy: (500, 'oldstable-updates'), (500, 'oldstable')
Architecture: i386 (i686)
Kernel: Linux 3.16-0.bpo.2-686-pae (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to de_DE.utf8)
Shell: /bin/sh linked to /bin/dash
Versions of packages postgresql-9.1 depends on:
ii libc6 2.13-38+deb7u11
ii libcomerr2 1.42.5-1.1+deb7u1
ii libgssapi-krb5-2 1.10.1+dfsg-5+deb7u7
ii libkrb5-3 1.10.1+dfsg-5+deb7u7
ii libldap-2.4-2 2.4.31-2+deb7u1
ii libpam0g 1.1.3-7.1
ii libpq5 9.1.22-0+deb7u1
ii libssl1.0.0 1.0.1e-2+deb7u21
ii libxml2 2.8.0+dfsg1-7+wheezy5
ii locales 2.13-38+deb7u11
ii postgresql-client-9.1 9.1.22-0+deb7u1
ii postgresql-common 134wheezy4
ii ssl-cert 1.0.32+deb7u1
ii tzdata 2016d-0+deb7u1
postgresql-9.1 recommends no packages.
Versions of packages postgresql-9.1 suggests:
pn locales-all <none>
pn oidentd | ident-server <none>
-- no debconf information
More information about the Pkg-postgresql-public
mailing list