Tom Lane wrote:
Stefan Sassenberg <stefan.sassenberg@xxxxxx> writes:
Tom Lane wrote:
What LC_CTYPE and LC_MESSAGES settings are you using? We've seen
problems of this ilk when gettext() produces messages encoded in the
"wrong" encoding (ie, not what the database encoding is).
postgresql.log says [...] LC_MESSAGES=de_DE@euro
Hm. You'll need to check your platform's locale settings, but I bet
that that setting implies LATIN1 encoding (or LATINsomething anyway).
So any message text that gettext produces that happens to contain
high-bit-set LATIN characters would be invalidly encoded in a UTF8
database. The particular case that causes error stack overflow is
where the message about invalid conversion itself has the problem :-(
The real bottom line here is that your locale settings have to imply
an encoding that is the same as the database encoding. This is just
one of the things that can go wrong when they're different.
I can't find anything about LC_CTYPE.
"show lc_type" would tell you, but it's probably the same.
de_DE@euro is ISO-8859-15, if that helps. I changed the locale to
en_US.UTF-8 and LC_CTYPE in the environment is set to that value too.
Nevertheless "show lc_ctype" says de_DE@euro, even after a postgresql
restart. How can I change that?
Stefan