Как исправить ошибку pg_dump: aborting because of server version mismatch?

2015-11-12 07:42:46 Блог

При попытке создать дамп в postgresql происходит ошибка:

pg_dump: server version: 9.4.5; pg_dump version: 8.4.20
pg_dump: aborting because of server version mismatch

Такая ошибка у меня возникала из за того что на сервере с centos 6.7 я обновил posgresql на более новую версию 9.4, а старая версия осталась установленной.

Поэтому эту ошибку можно исправить двумя вариантами:

  1. Удалить старую версию postgresql 8.4, оставив только более свежую postgresql 9.4
  2. Создать правильный симлинк pg_dump

Я выбрал второй вариант, потому что мне нужно было перенести дамп на другую впс, а эту удалить, а он самый быстрый.

Нужно создать правильный симлинк на pg_dump. Данное решение должно работать не только для Cent OS.

Для этого заходим в папку /usr и находим там posgresql нужной версии. В нём находим pg_dump. Он может быть тут /usr/pgsql-9.4/bin/pg_dump или тут /usr/lib/postgresql/9.4/bin/pg_dump.

Запоминаем путь и создаём симлинк:

ln -s /usr/pgsql-9.4/bin/pg_dump /usr/bin/pg_dump --force
или
ln -s /usr/lib/postgresql/9.4/bin/pg_dump /usr/bin/pg_dump --force

Если вы создали правильный симлинк, ошибка будет исправлена.