Mattia Orfano
Posted on September 17, 2022
Sometimes, shit happens.
Especially after a long work-day, when you have no energy left and decide to upgrade system libraries without understanding a dime... and boom! Everything breaks and stop working.
This is exactly what happened to me few weeks ago.
I launched a simple brew upgrade
to have all formulae updated and after that my postgresql stopped working. From brew services list
I saw:
postgresql@14 error 256 mattia ~/Library/LaunchAgents/homebrew.mxcl.postgresql@14.plist
mhh... wtf!??
So I thought, "maybe I have to start the service again..."
➜ ~ brew services start postgresql
Warning: Use postgresql@14 instead of deprecated postgresql
Bootstrap failed: 5: Input/output error
Try re-running the command as root for richer errors.
Error: Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/mattiaorfano/Library/LaunchAgents/homebrew.mxcl.postgresql@14.plist` exited with 5.
It seems they changed path to stable postgresql version and there is some wrong configuration in my system. What do I do?
"I'm tired as shit and don't want to fix this at 8PM"
"Tomorrow I can't work"
"Worse... I can't read all the databases"
"I'm fucked!"
I looked around and found few suggestions that involved reinstalling the entire postgresql instance.
"Absolutely not! I don't want to uninstall it and lose the data. There must be another solution..."
I took a long breath, stretched my arms, and created another #10stips that you're about to read (what's 10stips? the column where you learn how to solve issues within 10 seconds, because I already tested it for you).
Fix Postgresql installation on MAC M1 ARM
Instead of deleting and reinstalling the entire postgresql installation (you might lose your data!) I just did this:
brew services stop postgresql
using Activity monitor check if there are active postgres processes and kill them
reboot the system
rm -rf /opt/homebrew/var/postgres/postmaster.pid
brew services start postgresql@14
Now, you might encounter another issue:
Library not loaded: '/opt/homebrew/opt/postgresql/lib/libpq.5.dylib' (LoadError)
Referenced from: '/Users/mattiaorfano/.rbenv/versions/2.4.10/lib/ruby/gems/2.4.0/gems/pg-0.20.0/lib/pg_ext.bundle'
Reason: tried: '/opt/homebrew/opt/postgresql/lib/libpq.5.dylib' (no such file), '/usr/local/lib/libpq.5.dylib' (no such file), '/usr/lib/libpq.5.dylib' (no such file), '/opt/homebrew/Cellar/postgresql@14/14.5_1/lib/libpq.5.dylib' (no such file), '/usr/local/lib/libpq.5.dylib' (no such file), '/usr/lib/libpq.5.dylib' (no such file) - /Users/mattiaorfano/.rbenv/versions/2.4.10/lib/ruby/gems/2.4.0/gems/pg-0.20.0/lib/pg_ext.bundle
There is an incorrect library pathing for postgresql@14, and all you have to do is:
sudo ln -s /opt/homebrew/opt/postgresql@14/lib/postgresql@14/libpq.5.dylib /usr/local/lib/libpq.5.dylib
Launch the service again with brew services start postgresql@14
and now you can turn off the computer and go to sleep.
You're welcome ;-)
Posted on September 17, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.