Как мне решить pg_dump: прерывание из-за несоответствия версии сервера? - PullRequest
0 голосов
/ 23 октября 2019

При выполнении резервного копирования базы данных с помощью утилит pg_dump я получаю сообщение об ошибке ниже.

root@lab1:~# pg_dump -Fc -h localhost -U postgres hrdb -f hrdb.dmp
Password: 
pg_dump: server version: 12.0 (Debian 12.0-2.pgdg100+1); pg_dump version: 10.10 (Ubuntu 10.10-0ubuntu0.18.04.1)
pg_dump: aborting because of server version mismatch

1 Ответ

0 голосов
/ 23 октября 2019

У вас установлены две версии Postgres:

  • Версия 10.10 (Ubuntu 10.10-0ubuntu0.18.04.1), которая предварительно включена в Ubuntu 18.04
  • Версия 12.0 (Debian 12.0-2.pgdg100+1) устанавливается через репозиторий PGDG Apt

Вы можете выполнить любое из следующих действий:

  • Использовать /usr/lib/postgresql/12/bin/pg_dump, печатая весь путь
  • Использовать apt для удаления postgresql (не postgresql-12)
  • Ubuntu фактически объединяет несколько команд PG в программу с именем pg_wrapper, так что вы можете сделать следующее, не внося никаких изменений: pg_dump -Fc -h localhost -U postgres --cluster=12/localhost:$PGPORT hrdb -f hrdb.dmp
...