"Daniel Verite" <daniel@manitou-mail.org> writes:
> I can reproduce this by creating a new locale *after* starting
> PostgreSQL and trying to use it before a restart.
That is interesting. I think it must mean that glibc's setlocale()
and newlocale() maintain some kind of internal cache about available
locales ... and there's no logic to flush it if /usr/share/locale
changes. The individual backends are probably inheriting the cache
state via fork from the postmaster.
regards, tom lane