The determination of locale is now done as follows:
collate/ctype:
initdb --lc-collate, initdb --locale, LC_ALL, LC_COLLATE, LANG
messages/monetary/numeric/time:
Have GUC variables lc_messages, etc. The default is "", which means to
inherit from the environment (or whatever setlocale() does with it).
However, initdb will initialize postgresql.conf containing assignments to
these variables determined as with collate/ctype above. So the "real"
defaults are consistent with collate/ctype.
initdb --no-locale is the same as initdb --locale=C, for convenience.
Let's see if these rules end up making sense to everybody.
--
Peter Eisentraut peter_e@gmx.net