Как я решаю “несоответствие серверной версии” с pg_dump, когда мне нужны ОБА установленные сервера PostgreSQL?

Я установил два сервера PostgreSQL в своем компьютере. Каждый 9.1, и другой 9.3. Мне нужны оба установленные сервера.

Когда я выполняю pg_dump, однако, я получаю ошибку несоответствия версии:

server version: 9.3.6; pg_dump version: 9.1.15
pg_dump: aborting because of server version mismatch

Как я могу решить его? (Не удалить ни одну версию - я установил первые 9.1 и 9.3 много месяцев спустя - мне нужны оба установленные серверов баз данных).

10
задан 9 July 2015 в 16:09

2 ответа

TL; DR: если обоими экземплярами PostgreSQL управляют пакеты Ubuntu (как они должны), просто использовать --cluster опция выбрать экземпляр PostgreSQL для резервного копирования, и это автоматически выберет соответствующую версию pg_dump:

pg_dump --cluster 9.1/main [other pg_dump options]

или

pg_dump --cluster 9.3/main [other pg_dump options].

main просто значение по умолчанию, выполненное pg_lsclusters видеть Ваши подлинные имена в Cluster столбец.

Как это работает: как установлено пакетами Ubuntu, /usr/bin/pg_dump на самом деле гибкая ссылка на /usr/share/postgresql-common/pg_wrapper, чья цель состоит в том, чтобы точно выбрать корректный экземпляр и выполнить соответствующий двоичный файл. --cluster не существует в запасе команды PostgreSQL, это - дополнение Debian/Ubuntu, которое предназначено для обращения к этому несколько проблем версий/разнообразных путей.

Это - то же для psql, createdb, createuser, и т.д. приблизительно 18 пост-ГРЭС управляет в /usr/bin на самом деле управляются pg_wrapper.

Посмотрите человека pg_wrapper для больше.

13
ответ дан 23 November 2019 в 04:24

Вы можете использовать:

sudo find / -name pg_dump

, чтобы найти ваши версии pg_dump в моем случае: /usr/pgsql-9.6/bin/pg_dump

, так что дальше мы можем сделать:

sudo ln -sfn /usr/pgsql-9.6/bin/pg_dump /usr/bin/pg_dump
[ 117], чтобы обновить до того, что нам нужно

4
ответ дан 23 November 2019 в 04:24

Другие вопросы по тегам:

Похожие вопросы: