Hello! Here is a temp fix for the locale issues on win32. It passes regression tests, but is *NOT* ready to be applied (if nothing else, it at least needs more error checking).
The issue is that locale settings were not inherited by the postgres backends when they were execed... Instead, the locale was reset to whatever the system default was. I have a few questions before I continue fixing up the patch, though: * Is it enough to explicitly store/save LC_COLLATE and LC_CTYPE, or does more of the locale stuff need to be stored? I think the rest is handled by GUC and should thus be reloaded by the GUC routines already, but I'm not sure there. * Does pgstat, startup, shutdown, checkpointer and bgwriter need to have the locale set as well, or can they live with defaults? (my fix only fixes standard backends, since they have different exec paths) * Locale can't be changed "on-the-fly", if I'm correct. So just setting it upon exec should be enough. Or am I wrong there? //Magnus
locale_win32.patch
Description: locale_win32.patch
---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster