]> 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:16 +0000 (22:35 -0500)
commit05bb4fcad427b625e099517d76a62c6594806507
tree7e9375b805cf2ce9c6d2931f9f55e2fbde77b26b
parent616830052ba3ed8abc52ba215f53d55f8413eae9
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