Postgresql fails on startup: "FATAL: postmaster became multithreaded during startup"

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 Googled the error message to see if anyone had run into this problem, but did not see a solution.

My answer:


Your locale is mis-set.

You have 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).


View the full question and answer on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.