diff options
-rw-r--r-- | src/test/regress/pg_regress.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index c1bef1b5a1d..7901e46fd47 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -798,9 +798,17 @@ initialize_environment(void) unsetenv("LC_NUMERIC"); unsetenv("LC_TIME"); unsetenv("LANG"); - /* On Windows the default locale cannot be English, so force it */ -#if defined(WIN32) || defined(__CYGWIN__) - putenv("LANG=en"); + + /* + * Most platforms have adopted the POSIX locale as their + * implementation-defined default locale. Exceptions include native + * Windows, Darwin with --enable-nls, and Cygwin with --enable-nls. + * (Use of --enable-nls matters because libintl replaces setlocale().) + * Also, PostgreSQL does not support Darwin with locale environment + * variables unset; see PostmasterMain(). + */ +#if defined(WIN32) || defined(__CYGWIN__) || defined(__darwin__) + putenv("LANG=C"); #endif } |