Bruce Momjian <bruce@momjian.us> writes:
> Greg Sabino Mullane wrote:
>> Specifically, LANGUAGE changes the headers of pg_controldata
>> (but not the actual output, LC_ALL does that). Thanks for the
>> nudge, I'll get to rewriting some code.
> pg_upgrade does this in controldata.c for this exact reason:
> /*
> * Because we test the pg_resetxlog output strings, it has to be in
> * English.
> */
> if (getenv("LANG"))
> lang = pg_strdup(ctx, getenv("LANG"));
> #ifndef WIN32
> putenv(pg_strdup(ctx, "LANG=C"));
> #else
> SetEnvironmentVariableA("LANG", "C");
> #endif
You do realize that's far from bulletproof? To be sure that that does
anything, you'd need to set (or unset) LC_ALL and LC_MESSAGES as well.
And I thought Windows spelled it LANGUAGE not LANG ...
regards, tom lane