• Noah Misch's avatar
    Always set the six locale category environment variables in main(). · 6fdba8ce
    Noah Misch authored
    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).
    6fdba8ce
main.c 13.2 KB