Как мне установить, какая версия PostgreSQL будет использоваться по умолчанию?

23

В моей системе установлены 2 разные версии PostgreSQL (Ubuntu Lucid):

  • /var/lib/postgresql/8.4
  • /var/lib/postgresql/9.0

По умолчанию, когда я запускаю команду PostgreSQL, такую ​​как creatb или psql, используется версия 9.0.

Как настроить систему на использование версии 8.4 по умолчанию?

Кофемолка
источник

Ответы:

15

Различные инструменты командной строки PostgreSQL будут общаться с сервером, прослушивающим порт по умолчанию (5432) по умолчанию.

Вы можете определить, какой порт прослушивает каждый сервер, ища portпеременную в /etc/postgresql/$VERSION/main/postgresql.confфайле для соответствующего сервера.

Чтобы заставить инструменты командной строки общаться с другим сервером по умолчанию, у вас есть два варианта:

Во-первых, вы можете переключить порты, которые прослушивают два сервера, отредактировав ранее упомянутые файлы конфигурации и затем перезапустив оба сервера (возможно, вы захотите остановить каждый из них перед запуском любого из них).

В качестве альтернативы, вы можете установить PGPORTпеременную среды для номера порта желаемого сервера по умолчанию. Это должно повлиять на все приложения, использующие клиентскую библиотеку PostgreSQL.


Для просмотра содержимого каждого кластера базы данных используйте psql -l -p PORT_NUMBER. Для переноса данных смотрите раздел " 24.4. Миграция между выпусками » в документации PostgreSQL.

Удаление старых версий PostgreSQL экономит износ ноутбуков и твердотельных накопителей за счет уменьшения количества операций записи на диск.

Джеймс Хенстридж
источник
Хороший ответ. Кроме того, рассмотрите возможность удаления старых версий postgres. Каждый из них использует оперативную память и записывает на диск раз в минуту (плохо для твердотельных накопителей и ноутбуков).
Брайс