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.
Best Answer
Your locale is mis-set.
You have
LANG
defined asen_US.UTF-8
, but everything else is defined asC
. 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).