Conflicting versions of postgres database and server
Solution 1
I suppose that you've already had PostgreSQL installed before. Please, confirm this, 'cos in this case you will have to upgrade your database. This is important step, it is not possible to just upgrade the software.
Please, try stopping currently running server. First, check the source of currently running PostgreSQL:
sudo launchctl list | grep -Ei "macports|postgres"
Then perform:
sudo launchctl unload -w <OldPostgreSQL.plist>
and start a new server like this:
sudo launchctl load -w <NewPostgreSQL.plist>
I would expect new plist to be
/Library/LaunchDaemons/org.macports.postgresql91-server.plist
.
In case you need to upgrade:
- Make sure you do a full dump of the database first with the new version of
pg_dump
. - Execute new version of the
initdb
in the newPGDATA
folder. - Start a new server as outlined above.
- Upload the full dump.
Here's a small description I've came across on the subject. And this is the official PostgreSQL documentation on upgrading between major releases.
Solution 2
Mine was a homebrew install and here's what I did (brought me to a functioning psql with no version issues) -- I'm trying to install KyngChaos's mac build of postgresql
step 0 (already did):
brew uninstall postgresql
step1
which psql
=> "locationpath" (in my case, /usr/bin/psql)
sudo rm "locationpath"
step2
#inside ~/.bash_profile
export PATH=/usr/local/pgsql-9.3/bin:$PATH
step3
psql
#works
Solution 3
This may happen if you already had a version of PostgreSQL before new installation.
Since you have two versions of PostgreSQL, you need two versions of psql. Basically, now when you type psql, your system may not be certain to which version of database you are trying to connect.
Remove the previous version. Or install new psql along with new version of the server.
Maddy
Updated on June 30, 2022Comments
-
Maddy almost 2 years
I installed postgres on Mac OS X 10.6.x. When I ran for postgres database version:
psql --versionpsql (PostgreSQL) 9.1.1 contains support for command-line editing
When I checked for the version of the server:
psql -c "select version();" version -------------------------------------------------------------------------------------------------------------------------------------------------- PostgreSQL 9.0.5 on x86_64-apple-darwin10.8.0, compiled by GCC i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3), 64-bit (1 row)
So when I run
bash-3.2$ psql psql (9.1.1, server 9.0.5) WARNING: psql version 9.1, server version 9.0. Some psql features might not work.
I am not sure what those features are. These versions are conflicting. I am new to using postgres so I dont know how to upgrade just the postgres server. I tried to search for something online but did not find much help. I don't want to uninstall and reinstall postgres. Is there anyway I could use them both together without them conflicting? Or just upgrade the server to the same version as database?
Edit:
which psql /opt/local/lib/postgresql91/bin//psql which postgres /opt/local/lib/postgresql91/bin//postgres ps -eaf|grep postgres 0 60 1 0 0:00.07 ?? 0:00.09 /opt/local/bin/daemondo --label=postgresql90-server --start-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql90-server/postgresql90-server.wrapper start ; --stop-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql90-server/postgresql90-server.wrapper stop ; --restart-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql90-server/postgresql90-server.wrapper restart ; --pid=none 103 3971 3967 0 0:00.69 ?? 0:01.17 postgres: writer process 103 3972 3967 0 0:00.67 ?? 0:00.88 postgres: wal writer process 103 3973 3967 0 0:00.18 ?? 0:00.23 postgres: autovacuum launcher process 103 3974 3967 0 0:00.19 ?? 0:00.21 postgres: stats collector process 0 3616 2726 0 0:00.04 ttys000 0:00.06 su postgres 103 3967 3619 0 0:00.23 ttys000 0:00.34 postgres -D /usr/local/pgsql/data 0 4559 4055 0 0:00.03 ttys001 0:00.05 su postgres 103 5922 4560 0 0:00.01 ttys001 0:00.01 grep postgres
Thank you.