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 команд Postgres в /usr/bin
фактически управляется pg_wrapper
.
Смотрите man pg_wrapper для более.
pg_dump
. Оба установлены, но только один по умолчанию. Посмотритеupdate-alternatives
пути илиdpkg -L
клиентский пакет postgresql, чтобы увидеть, где они находятся. У меня нет немедленного доступа к коробке с Ubuntu, чтобы показать себя.