How to fix pg_dump version mismatch errors? - postgresql

When trying to get local data to Heroku, I am encountering a version mismatch between two different versions of pg_dump.
Specifically, I am getting this message:
pg_dump: server version: 9.2.2; pg_dump version: 9.1.4
pg_dump: aborting because of server version mismatch
I have found others with this problem, but do not know enough to implement the proposed solutions. (I am new to Ruby on Rails, PostgreSQL, Heroku, and the Mac! Very much at the stage of playing around the picking things up as I go.)
I was thinking I might simplify my life if I uninstalled all PostgreSQL on my local machine and started again with a clean install of PostgreSQL 9.2.2 from http://postgresapp.com/, but I don't know how to go about doing the uninstall.
I'm running Mac OS X Mountain Lion 10.8.2.

OS X 10.8 comes with pg_dump version 9.1.4 in the /usr/bin directory, along with psql and other programs that are client-side PostgreSQL tools. It does not mean that PostgreSQL as a server is installed (unless you have OS X Server Edition).
So you don't have to uninstall PostgreSQL because it's not installed and it's better not to remove these postgres client tools in /usr/bin because they belong to the system as shipped by Apple. They just need to be side-stepped.
The package provided by postgres.app comprises both the PostgreSQL server and the client-side tools of the same version as this server. These tools get installed in /Applications/Postgres.app/Contents/MacOS/bin
To use these instead of the 9.1 ones from Apple when you work in a Terminal, postgres.app documentation says to do:
PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
and put it in your .profile file.
Once you have done that and you run pg_dump, you should no longer get the error that's it's the wrong version, because it would be the one that ships with postgres.app (currently 9.2.2).
I have this setup and it works OK for me.

If you only need to upgrade your pg_dump to the latest version and you have homebrew and mac, if the app has the latest version and your local pg doesn't:
brew upgrade postgresql

If you're using postgresapp 9.3.x, the path is different. The following worked for me (courtesy of http://sigmyers.com/blog/2013/3/12/postgres-pgdump-version-mismatch-error-postgresapp-postgresappcom)
export PG_BIN_PATH="/Applications/Postgres.app/Contents/Versions/9.3/bin/"
PATH=$PG_BIN_PATH:$PATH
Check here for the latest path: http://postgresapp.com/documentation/cli-tools.html

I'm running Mountain Lion Server. My PostgeSQL server is at version 9.2.1 and the default tools are at 9.1.5.
I had to use:
PATH="/Applications/Server.app/Contents/ServerRoot/usr/bin:$PATH"
to make it work.

Yep, sometimes if you run Postgres.app this may happen after upgrade. Make sure you restart your Postgres.app - it will update your PATH.

In my case I have postgresql installed via homebrew and the executables are here: /usr/local/opt/postgresql#9.6/bin
Or you copy the dump and restore executions to the /Applications/Postgres.app/Contents/SharedSupport folder
or in PdAgmin you point the PG bin Path (in properties -> binary Path) to the path of the executables of your postgre

Related

Which PostgreSQL Package to Install

We have the following requirements. Could anyone suggest which PostgreSQL package to choose?
Server supporting multiple connections on the same port
Trigger
GUI to interact with the server
Features to support back up & restore database
Ability to connect to a remote postgreSQL server
We would require it for both Windows 7 & OS X El Capitan
UPDATE:
The below link contains multiple links to download PostgreSQL. As we can not download all of them & try out, require someone's help to point us to the right package with the above mentioned components/features
postgres
postgres
pgAdmin
pg_dump, pg_restore, psql
psql lets you specify database (including remote) to connect to
All above works both windows and osX
EnterpriseDb has free packages for postgres that include commonly used components like pgAdmin (a GUI). They have packages for both Windows and OS X but I would use homebrew instead for OS X. Homebrew is an OS X package manager. There's several tutorials for installing postgres via Homebrew. Here is one.
You would install pgAdmin separately.
Installing via Homebrew is a little more complex but gives you more flexibility and capability.
If you're just starting out with postgres, the EnterpriseDB packages will be easier.

Full uninstall of Postgresql 9.3.5

I installed postgresql 9.3.5 on OS X 10.9.4. I also used psql postgres to create database etc.
Ran in some issues where postgresql no longer works. The error is:
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
So I brew uninstall postgres. Tried reinstalling but keep getting same error. I looked in the /Library.... and deleted the postgresql folder. Is there a way to fully remove this thing? I'm tempted to reinstall this mac but this is not the way to learn the long way of resolving this issue.
Completely uninstall PostgreSQL 9.0.4 from Mac OSX Lion?
This should work if you had previously used brew to install postgres:
brew uninstall
Double check /usr/local/var/postgres is also gone.
If installed with EnterpriseDB, use the second answer. You might also try it as it seems to be a complete manual uninstall.
Edit: after further review, it seems this is more of an issue with Postgres on OSX where as it defaults to the local installation rather than your installation: PostgreSQL error 'Could not connect to server: No such file or directory'

Does PostgreSQL exist on OS X Mavericks?

I knew there was a version of PostgreSQL installed on OS X Mountain Lion and if you want to work with this database engine you must install a new version and make some changes (http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion /). I didn't do this at that time because it was not necessary for me.
Now I have my Mac with OS X Mavericks (clean install) and if I run psql -- version as can be seen in this article (http://russbrooks.com/2010/11/25/install-postgresql-9-on-os-x), the terminal tells me that there is no such command.
~ ยป psql --version
zsh: correct 'psql' to 'sl' [nyae]? n
zsh: command not found: psql
Does PostgreSQL get installed by default when I do a clean install of OS X Mavericks?
If i want to try PostgreSQL on Mavericks, do I just need to run brew install postgresql and it`d be OK?
Has anyone tried this?
Thank you very much.
Yes, it should be safe to brew install postgresql, provided brew doctor indicates no problems.
My preferred approach is always to leave OS X builtins untouched, and use Homebrew to install separate versions of everything I'd like to work with. I've tried using OS X builtins in the past, and things have a way of getting messy in a hurry, especially when updating OS X.
For everyone who is looking for guide about how to install and configure postgres on the fresh Mavericks installation: http://marcinkubala.wordpress.com/2013/11/11/postgresql-on-os-x-mavericks/
I hope it will be helpful.
You can download different versions of PostgreSQL from Apple.
Also for a development environment you can use Postgres.app (http://postgresapp.com/):
Postgres.app is a simple, native Mac OS X app that runs in the menubar without the need of an installer. Open the app, and you have a PostgreSQL server ready and awaiting new connections. Close the app, and the server shuts down.
[http://www.postgresql.org/download/macosx/ ]

unable to locate postgresql in etc centos

I tried installing postgresql in my server which has centos
I followed this link
I am facing few complexity here.
I could not locate postgresql file in /etc directory.
psql (8.4.13, server 9.2.4) WARNING: psql version 8.4, server version 9.2. Some psql features might not work.
How can i solve these issues. can anyone suggest me.
I could not locate postgresql file in /etc directory.
The tutorial you linked to suggests the config files are in /var/lib/pgsql/9.2/data/...
psql (8.4.13, server 9.2.4) WARNING: psql version 8.4, server version 9.2. Some psql features might not work.
You've still got the 8.4 version of psql installed. Use your package tools (rpm/yum) to see what versions of the psql client packages are installed and where the binaries are.
It's common enough to run two different versions of PG on the same machine. Obviously each needs its own data directory and port number. Also, as you've seen psql will check the version number and warn if they are different. Basic queries still work, but obviously an 8.4 version won't know about extensions introduced in 9.1 and that sort of thing.

Installing postgis in mac

I am trying to install postgis in mac. But I am not sure if I should compile it from the source code or install the binary. When I tried to install the binary it says that I need to install postgresql 9.1 which I already have. What should I do? Are there any clear instructions for installing in mac
When I run into trouble I usually install from source. This gives the configuration and compilers a better chance to tailor everything to your computer. You must have the development libraries for postgresql installed however to make this work with postgis.