psql (9.1.5, server 9.2.2) WARNING: psql version 9.2, server version 9.2. Some psql features might not work. Type "help" for help.
brew upgrade postgresql
This upgrades your postgresql server (doesn't yet address your problem). If you still want to go on, I suggest now is the great time to do a backup.
While you do that, let's watch some kitties fly!
Ready? Let's move on.
cd /usr/local/var mkdir postgres9.2 # Initialize a the new postgres 9.2 database initdb /usr/local/var/postgres9.2 # Tell postgres we are upgrading the existing postgres database to the new postgres9.2 location pg_upgrade -d /usr/local/var/postgres/ -D /usr/local/var/postgres9.2 -b /usr/local/Cellar/postgresql/9.2.4/bin/ -B /usr/local/Cellar/postgresql/9.2.4/bin/ -v # Swap the folders mv postgres9.2 postgres
If you have your Postgres run at startup, do this as an extra step:
# Restart postgres launchctl unload -w homebrew.mxcl.postgresql.plist launchctl load -w homebrew.mxcl.postgresql.plist
If you encounter this while you tried to do an initdb (as in Solution #1),
FATAL: could not create shared memory segment: Cannot allocate memory DETAIL: Failed system call was shmget(key=1, size=1646592, 03600).</code></pre>
sudo sysctl -w kern.sysv.shmall=65536 sudo sysctl -w kern.sysv.shmmax=16777216
This temporarily makes adjustment in your kernel as you need it. If you want to make it permanent, then
If, after you do all these, and you find that you circumvent back to Problem #1, then check your paths.
which psql #and take note of the path
Since you're running on homebrew, you need to add the cellar path to your PATH environment variable.
Just before the last
:$PATH. My PATH looks something like this:
To immediately reload the variable, just copy that line and run on your terminal.
Whew. Now I can go back to work. You should be able to see your psql matching your server version.