На Ubuntu 14.04 я сделал это, чтобы получить последние postgres:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
Затем я установил версию 9.4:
sudo apt-get install postgresql-9.4
Однако, похоже, у меня сейчас три версии:
sudo service postgresql stop
* Stopping PostgreSQL 9.3 database server [ OK ]
* Stopping PostgreSQL 9.4 database server [ OK ]
* Stopping PostgreSQL 9.5 database server [ OK ]
Как мне сохранить только 9.4 и удалить остальные? Спасибо
ОБНОВИТЬ:
Как предложено в комментариях, я удалил 9.3 и 9.5.
Но когда я делаю это:
sudo service postgresql status
9.3/main (port 5432): down
9.4/main (port 5434): online
9.5/main (port 5433): down
Пока все хорошо, но когда я переключаюсь на postgres:
sudo su postgres
и сделать psql, я получаю ошибку:
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.5432"?
14.04
postgresql
Houman
источник
источник
sudo apt-get remove postgresql-9.3
что удалит 9.3 (после выключения сервера 9.3)Ответы:
Различные версии PostgreSQL находятся в пакетах postgresql-9. *.
Поэтому вы должны удалить два пакета:
Затем вы должны удалить ненужные конфигурационные папки:
И из папки / var / lib /, если у вас есть:
Я надеюсь, что это поможет вам.
источник
Добавление ответа очень поздно, но может помочь людям здесь.
Краткий ответ: Ошибка указывает, что postgres настроен на неправильном (не по умолчанию) порту. Используйте правильный порт
Длинный ответ: Когда вы установили несколько версий Postgresql, все они начали запускать кластеры postgres на разных портах. В вашем выходе следующие Postgres версия работает:
9.3 --> 5432
,9.4 -->5434
,9.5 --> 5433
.Вы можете удалить другие версии, используя,
sudo apt-get purge postgresql-9.x
где9.x
ваша версия, однако в вашем случае версия (9.4), которая присутствовала в вашей системе, настроена для работы на порту 5434. Таким образом, ошибкаIs the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
прекрасно указывает на то, что psql по умолчанию пытается подключиться к порту, для5432
которого нет больше не имеет каких-либо postgres прилагается.Два решения здесь :
psql -p 5434
опцию ie port (-p / - port) в команде psql.port
значение конфигурации вашего сервера postgres,/etc/postgresql/9.5/main/postgresql.conf
чтобы он работал на 5432. Не забудьте перезапустить postgres после изменения.источник