Craig S. Anderson asked:
Trying to start PostgreSQL, but get the following error:
$ pg_ctl -D postgres_data start server starting FATAL: postmaster became multithreaded during startup HINT: Set the LC_ALL environment variable to a valid locale
My locale is set:
LANG="en_US.UTF-8" LC_COLLATE="C" LC_CTYPE="C" LC_MESSAGES="C" LC_MONETARY="C" LC_NUMERIC="C" LC_TIME="C" LC_ALL="C"
System is MacOS 10.10.5, PostgreSQL version is 9.5.0.
I followed Michael’s suggestion. Now the locale values are:
$ locale LANG="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_CTYPE="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_ALL="en_US.UTF-8"
But the error remains.
I Googled the error message to see if anyone had run into this problem, but did not see a solution.
Your locale is mis-set.
LANG defined as
en_US.UTF-8, but everything else is defined as
C. These are rather different, and mixing them will cause all sorts of weirdness.
Do what the error message told you: set
LC_ALL to the correct locale (and set all the rest of them too).
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.