Hi all, it seems that Bastian put his finger on it.
All of you had some databases encoded in a latin encoding. I got a
confirmation from Rory that on his system no latin encoding existed
any more, i. e. "locale -a" output just showed some .UTF-8 and C/POSIX.
Can the others of you confirm that this is true on your systems, too?
The weird thing is that this situation should have prevented the old
cluster from starting up in the first place (the startup scripts go
through some lengthy checks to assert that), apparently this didn't
work for you.
I tried to replicate this situation locally:
# create cluster with default encoding LATIN1
$ sudo locale-gen de_DE
$ sudo pg_createcluster --locale de_DE 8.1 test --start
$ sudo -u postgres createdb -E UNICODE test
# now let's kill the de_DE locale
$ sudo pg_ctlcluster 8.1 test stop
$ sudo rm -r /usr/lib/locale/de_DE
$ locale -a | grep de
de_DE.UTF-8 left
$ sudo pg_ctlcluster 8.1 test start
Error: The server must be started under the locale de_DE which does not exist
any more.
This is what *should* have happened in your case.
I tried to remove the locale while 8.1/test was still running:
$ sudo locale-gen de_DE
$ sudo pg_ctlcluster 8.1 test start
$ sudo rm -r /usr/lib/locale/de_DE
$ sudo pg_upgradecluster 8.1 test
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "de_DE",
LC_COLLATE = "de_DE",
LANG = "de_DE.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Error: The locale requested by the environment is invalid.
Error: Could not create target cluster
So maybe the others of you still did have the latin locale available?
Can you give me some further hints of what happened during the
upgrade, and the output of 'locale -a'?
Thanks,
Martin
--
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)
signature.asc
Description: Digital signature

