Как исправить ошибку pg_dump: aborting because of server version mismatch?
При попытке создать дамп в 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, а старая версия осталась установленной.
Поэтому эту ошибку можно исправить двумя вариантами:
- Удалить старую версию postgresql 8.4, оставив только более свежую postgresql 9.4
- Создать правильный симлинк 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
Если вы создали правильный симлинк, ошибка будет исправлена.