Problema ao instalar e configurar o PostgreSQL

18

Eu sou um novato aqui e para a administração do servidor. Alguns dias atrás, registrei um servidor no Hetzner no Ubuntu 11.04.

Pretendo trabalhar com o PostgreSQL, para o qual instalei a partir do código-fonte depois de falhar na instalação usando o apt-get. A instalação não falha, mas o serviço PostgreSQl não é iniciado automaticamente ou quando tento iniciá-lo manualmente. Ele falha com a seguinte mensagem de erro quando tento fazer algo com ele:

manager@Ubuntu-1104-natty-32-minimal:~$ sudo su postgres -c psql template1
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"?

Este foi o erro que eu estava recebendo quando instalei o PostgreSQL usando o apt-get e reinstalei-o da fonte. A seguir, é apresentado o resultado obtido quando o instalei da fonte. Isso confirma que o PostgreSQL está realmente instalado.

make -C config install
make[1]: Entering directory `/home/manager/postgresql-9.0.4/config'
/bin/mkdir -p '/usr/local/pgsql/lib/pgxs/config'
/bin/sh ../config/install-sh -c -m 755 ./install-sh '/usr/local/pgsql/lib/pgxs/config/install-sh'
make[1]: Leaving directory `/home/manager/postgresql-9.0.4/config'
PostgreSQL installation complete.

Mas, o serviço não inicia automaticamente? Não aqui:

manager@Ubuntu-1104-natty-32-minimal:~$ ps auxw | grep post
manager   6734  0.0  0.0   4156   868 pts/0    S+   14:10   0:00 grep --color=auto post

Isso está afetando minha paciência e confiança. Por favor, me ajude a resolver esse problema.

Syed Aslam
fonte

Respostas:

27

Respondendo a minha própria pergunta. Isso é meio chato, a primeira pergunta em qualquer site StackExchange não vai bem para mim.

Eu já tinha feito isso, mas de alguma forma funcionou desta vez. Fez isso:

  1. sudo apt-get update e& sudo apt-get upgrade
  2. sudo apt-get purge postgresql *
  3. Instalação do sudo apt-get -f
  4. sudo apt-get install postgresql

Funciona como um encanto.

Nota: adicionar o * no comando purge limpará todos os pacotes que começam com postgresql

Syed Aslam
fonte
4
Só quero salientar que se você tiver perl: warning: Setting locale failedao instalar o postgresql, isso poderá fazer com que a instalação falhe ao criar um novo cluster, para que o servidor postgresql não seja iniciado. Corrigir esse problema de localidade e reinstalar o postgresql com as instruções acima funcionou para mim.
Hieu
Isso funcionou como um encanto para mim! Muito obrigado, agora eu tenho o 9.5 instalado quando instalei originalmente o 9.3, mas queria mudar. No switch, a instalação e a reinstalação não funcionaram muito bem.
214166 Mark Marlin
6

Eu também enfrentei esse problema com Hetzner e muito irritante. Aqui está como eu resolvi isso Dica: Olhei para alguns scripts de pacotes pg

sudo apt-get purge postgresql* # final * é importante

sudo apt-get install postgresql

Eu suspeito que a imagem do Hetzner 11.04 é de buggy ou é .deb do Ubuntu (embora improvável).

Shekhar
fonte
2

Eu não vi esse erro na barra de ativação em associação com Natty. O mesmo problema foi levantado como um bug na barra de ativação do Hardy e foi corrigido. Portanto, seguindo essa lógica, espero que seja um erro e provavelmente é uma boa prática arquivar um erro na barra de ativação.

Analisando mais a fundo, encontrei 2 tópicos interessantes (ainda antigos) mostrando exatamente o mesmo erro que parece valer a pena examinar:

Este tópico de 2006 está falando exatamente sobre o mesmo problema e afirma que

sudo /etc/init.d/postgresql-8.1 stop

sudo /etc/init.d/postgresql-8.1 start

psql template1

trabalho.

No ubuntuforums, há um tópico de 2008 sobre o mesmo erro e o status 'resolvido'. Por favor, dê uma olhada nas muitas sugestões nesse tópico.

Rinzwind
fonte
2

O psql é o cliente cli, não inicia o servidor PostgreSQL. Para iniciar o servidor, você deve usar:

/etc/init.d/postgresql start

então você pode se conectar a ele usando o psql.

Para que o PostgreSQL inicie na inicialização, você deve fazer o seguinte:

update-rc.d postgresql enable

Você também pode dar uma olhada nisso:

http://www.cyberciti.biz/tips/how-to-controlling-access-to-linux-services.html

Cliff Wells
fonte
0

Ao executar o Ubuntu 14.04, eu estava tendo problemas semelhantes e não conseguia fazê-lo funcionar usando as soluções acima. No final, encontrei minha resposta aqui .

a) Executei este comando aptitude search postgresql|grep ^ino terminal e recuperei os seguintes resultados:

i   postgresql                      - object-relational SQL database (supported 
i A postgresql-9.3                  - object-relational SQL database, version 9.
i A postgresql-client-9.3           - front-end programs for PostgreSQL 9.3     
i A postgresql-client-common        - manager for multiple PostgreSQL client ver
i A postgresql-common               - PostgreSQL database-cluster manager

b) Então: sudo aptitude purge postgresql postgresql-9.3 postgresql-common

c) Finalmente: sudo aptitude install postgresql

Tudo agora funciona bem.

8bithero
fonte