2

У меня на компьютере установлен postgresql 9.1 (Ubuntu). Мне нужен другой сервер postgresql, который будет работать рядом со старым. Точная версия не имеет значения, но я думаю об использовании версии 9.2. Как я могу правильно установить и запустить другую версию postgresql, не прикручивая старую (например, обновление). Таким образом, эти версии будут работать независимо на разных портах. Старый на 5432 и новый на 5433, например.

Причина, по которой мне это нужно, для двух баз данных OpenERP. Если я запускаю два сервера OpenERP (с разными версиями) на одном порте postgresql, происходит сбой, потому что новая версия OpenERP обнаруживает базу данных старых версий и пытается запустить ее, но происходит сбой, потому что используются другие схемы.

PS или, может быть, я мог бы просто запустить один и тот же сервер postgresql на двух портах?

Обновление Пока я пробовал это:

/usr/lib/postgresql/9.1/bin/pg_ctl initdb -D main2

Он создал новый кластер. Я изменил порт на 5433 в файле postgresql.conf каталога новых кластеров. Затем запустил это:

/usr/lib/postgresql/9.1/bin/pg_ctl -D main2 -l logfile start

Я получил server starting ответов. Но когда я попытался войти в базу данных шаблонов нового кластера с помощью: psql template1 -p 5433

Я получил эту ошибку:

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5433"?

Также теперь, когда я пытаюсь остановить сервер с:

/usr/lib/postgresql/9.1/bin/pg_ctl -D main2 -l logfile start

Я получаю эту ошибку:

pg_ctl: PID file "main2/postmaster.pid" does not exist
Is server running?

Так что я не понимаю, работает ли сервер и чего мне здесь не хватает?

Обновить

Нашел что не так. Глупый я. Я не заметил, что когда я изменил порт в файле .conf, эта строка уже была закомментирована. Так что на самом деле я ничего не изменил в первый раз, но думал, что сделал, и он использовал порт по умолчанию 5432.

0