У меня PostgreSQL 8.4 и 9.0 работают на одном сервере (Ubuntu Lucid).
Я установил их оба через apt-get (8.4 с исходными кодами пакетов по умолчанию и 9.0 после добавления ppa из https://launchpad.net/~pitti/+archive/postgresql ).
Когда я запускаю команду, такую как «createb», из командной строки или запускаю оболочку «psql», в моей системе по умолчанию используется версия 8.4 PostgreSQL.
Итак, как заставить эти команды использовать PostgreSQL 9.0 вместо 8.4?
ubuntu
postgresql
Кофемолка
источник
источник
Ответы:
Предполагая, что Ubuntu делает то же самое, что и Debian, ваши два экземпляра PostGreSQL будут работать на разных портах.
Вы можете легко проверить файлы конфигурации, чтобы увидеть, какая версия на каком порту:
Большинство команд PostGreSQL выбирают опцию «-p ####» или «--port = ####», так что вы можете использовать ее для выбора нужной версии.
источник
Используйте
--cluster
параметр, например (при условии, что оба кластера названы основными по умолчанию):Общими схемами являются:
Для просмотра списка всех установленных кластеров (имя, порт, статус, каталог данных и т. Д.) Используйте
pg_lsclusters
команду.Проверьте
man pg_wrapper
для получения дополнительной информации.источник
pg_wrapper
расширение Debian. По сути, онpsql
включает (то естьpsql
символическую ссылку наpg_wrapper
скрипт) команду с несколькими новыми опциями, облегчающими обработку нескольких кластеров.Вы можете использовать,
dpkg -L <packagename>
чтобы увидеть, какие файлы принадлежат конкретному пакету. Запустите его с пакетом postgresql 9 и посмотрите, где хранилась команда createb для этой версии.Большинство команд postgresql работают в кросс-версии с соответствующим выбором базы данных по порту или пути, но это, конечно, не относится к сценариям запуска и командам создания.
источник