]> 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:09 +0000 (22:35 -0500)
commite8f82b4163edc806ecefdcfa6dfed092678218c9
tree71f7afee21eeed10410e69f927423e043d85c3a9
parentfa042abddfad054b6872a2e2451868b08a230a2a
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