No Ubuntu 14.04 eu fiz isso para obter o postgres mais recente:
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
Então instalei a versão 9.4:
sudo apt-get install postgresql-9.4
No entanto, parece que agora tenho três versões:
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 ]
Como posso manter apenas o 9.4 e desinstalar os outros? Obrigado
ATUALIZAR:
Conforme sugerido nos comentários, desinstalei 9.3 e 9.5.
Mas quando eu faço isso:
sudo service postgresql status
9.3/main (port 5432): down
9.4/main (port 5434): online
9.5/main (port 5433): down
Até aí tudo bem, mas quando mudo para o postgres:
sudo su postgres
e faço um psql, recebo um erro:
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"?
Responder1
Diferentes versões do PostgreSQL estão localizadas nos pacotes postgresql-9.*.
Então você deve remover seus dois pacotes:
sudo apt-get purge postgresql-9.3 postgresql-9.5
Então você deve remover pastas de configuração desnecessárias:
rm -r /etc/postgresql/9.3/ /etc/postgresql/9.5
E da pasta /var/lib/ se você tiver:
/var/lib/postgresql/*
Espero que isso ajude você.
Responder2
Adicionar resposta muito tarde, mas pode ajudar as pessoas aqui.
Resposta curta:Erro indica postgres configurado na porta errada (não padrão). Use a porta certa
Resposta longa:
Quando você instalou várias versões do Postgresql, todas elas começaram a executar clusters postgres em portas diferentes. Na sua saída, as seguintes versões do postgres estão em execução: 9.3 --> 5432
, 9.4 -->5434
, 9.5 --> 5433
.
sudo service postgresql status
9.3/main (port 5432): down
9.4/main (port 5434): online
9.5/main (port 5433): down
Você pode desinstalar as outras versões usando sudo apt-get purge postgresql-9.x
onde 9.x
está a sua versão, porém no seu caso a versão (9.4) que estava presente no seu sistema está configurada para rodar na porta 5434. Assim o erro Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
indica perfeitamente que o psql por padrão está tentando se conectar à porta 5432
que não não tem mais nenhum postgres anexado.
Duas soluções aqui:
- Use
psql -p 5434
a opção de porta (-p/--port) no comando psql. port
Ou configure o valor de configuração do servidor postgres/etc/postgresql/9.5/main/postgresql.conf
para servir em 5432. Não se esqueça de reiniciar o postgres após a alteração.