]> granicus.if.org Git - postgresql/commit
Always set the six locale category environment variables in main().
authorNoah Misch <noah@leadboat.com>
Thu, 8 Jan 2015 03:34:57 +0000 (22:34 -0500)
committerNoah Misch <noah@leadboat.com>
Thu, 8 Jan 2015 03:35:12 +0000 (22:35 -0500)
commit230865e308f65d24d32aba1e6c1e4502b9047347
treeb8f687caf64550854b8335ced79a187bb89716a7
parent4dd51b366eb4f66ea2f1f30b5fda5960c633893d
Always set the six locale category environment variables in main().

Typical server invocations already achieved that.  Invalid locale
settings in the initial postmaster environment interfered, as could
malloc() failure.  Setting "LC_MESSAGES=pt_BR.utf8 LC_ALL=invalid" in
the postmaster environment will now choose C-locale messages, not
Brazilian Portuguese messages.  Most localized programs, including all
PostgreSQL frontend executables, do likewise.  Users are unlikely to
observe changes involving locale categories other than LC_MESSAGES.
CheckMyDatabase() ensures that we successfully set LC_COLLATE and
LC_CTYPE; main() sets the remaining three categories to locale "C",
which almost cannot fail.  Back-patch to 9.0 (all supported versions).
src/backend/main/main.c