Postgres - FATAL: database files are incompatible with server

homebrew, macos, postgresql

Solution

If you recently upgraded postgres to latest version, you can run the below command to upgrade your postgres data directory retaining all data:

brew postgresql-upgrade-database

The above command is taken from the output of `brew info postgres`

Note: this won't work for upgrading from 14 to 15 as of recent testing. For postgres version > 14, you should use `pg_upgrade` directly to upgrade your clusters.

Problem

After restarting my MacBook Pro I am unable to start the database server: ``` 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"? ``` I checked the logs and the following line appears over and over again: ``` FATAL: database files are incompatible with server DETAIL: The data directory was initialized by PostgreSQL version 9.2, which is not compatible with this version 9.0.4. ``` 9.0.4 was the version that came preinstalled on the mac, 9.2[.4] is the version I installed via Homebrew. As mentioned, this used to work before the restart, so it can't actually be a compiling issue. I also re-ran `initdb /usr/local/var/postgres -E utf8` and the file still exists.

Original source

Related problems