postgresql psql: não pôde se conectar ao servidor: não existe tal arquivo ou diretório

2

Primeiro, quero começar dizendo que a resposta mais relevante foi aqui . Quando tento executar o seguinte, aqui está o que recebo:

$ sudo -u 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"?

Eu também posso confirmar que o servidor inicializa e sai executando o primeiro comando abaixo. O segundo comando abaixo confirma que o servidor foi iniciado, mas saiu imediatamente,

$ sudo service postgresql restart
$ sudo service postgresql status
● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Mon 2017-09-25 18:37:32 EDT; 11min ago
  Process: 8459 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 8459 (code=exited, status=0/SUCCESS)

Sep 25 18:37:32 atas-250-557 systemd[1]: Starting PostgreSQL RDBMS...
Sep 25 18:37:32 atas-250-557 systemd[1]: Started PostgreSQL RDBMS.

Uma resposta que parece promissora:

  • postgresql.org pedindo para iniciar meu servidor em /usr/local/pgsql/data mas eu nem tenho o dir /usr/local/pgsql . Isso me leva a acreditar que nas minhas instalações e exclusões algo não foi reinstalado.

  • Eu instalei

    • sudo apt-get install postgresql
    • sudo apt-get install postgresql-client-common
    • sudo apt-get install postgresql-client
    • PostgreSQL-9.6.5 para o Ubuntu 16.04 através do instalador (mas isso pode ser redundante).

Por fim, o desinstalador encontrado em /opt/PostgreSQL/9.6 nem mesmo remove tudo do meu sistema como deveria. Fico com a janela dos arquivos restantes após a desinstalação. Se você pudesse me ajudar a corrigir o problema could not connect to server no topo que seria o preferido. Último recurso, eu estaria disposto a limpar tudo limpo, mas ainda não teve sorte.

    
por Max 26.09.2017 / 01:27

2 respostas

1

PostgreSQL-9.6.5 for Ubuntu 16.04 via the installer (but this may be redundant)

Isso não é redundante, você instalou duas versões diferentes do Postgres em dois locais diferentes. Em um sistema de gerenciamento de pacotes como o Ubuntu (e a maioria dos sabores do Linux) você deve somente usar a versão do software encontrada no gerenciador de pacotes. Você provavelmente usou o instalador fora de seu site que instalou o Postgres em /opt/ ou /usr/local/ e alterou os arquivos de destino do systemd para apontar para essa instalação. Enquanto isso, seu cliente vem do gerenciador de pacotes e está esperando o soquete do domínio UNIX ao qual ele se conecta em /var/run .

Se esta for uma máquina virtual descartável, limpe-a, reinstale e instale somente o Postgres via apt-get . Se não, veja se você pode desinstalar o pacote que você baixou e reinstalar os outros pacotes via apt-get (que, esperamos, irá corrigir seus arquivos de destino systemd para apontar para o local correto).

    
por 26.09.2017 / 14:45
0

Eu apenas corri no meu Ubuntu 16.04

sudo reboot

Após a reinicialização do sistema operacional, o problema desapareceu.

    
por 14.01.2018 / 03:51