У меня на компьютере установлен 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.