“psql: não foi possível conectar ao servidor: não existe tal arquivo ou diretório”

4

Na verdade, instalei o PostgreSQL 9.4 (com extensão postGIS) e, quando instalado, tudo funcionava bem.

Como foi dito em muitos tuts, eu configurei a pasta / data, verifiquei os arquivos de configuração e assim por diante. Trabalhei em outros projetos, então eu não trabalhei no psql por um tempo Mas quando a instalação foi feita, costumava funcionar corretamente, eu fiz um banco de dados de teste, inicializei o usuário postgres, etc.

Agora, eu tento iniciar o psql (com o usuário padrão "postgres") e não consigo conectar! Iniciar / parar / reiniciar serviço não muda nada ...

Resultado do comando "psql" (com o usuário postgres):

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"?

Quando eu verifico o status do serviço, recebo isso:

postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled)
Active: active (exited) since tue 2016-05-24 09:24:13 CEST; 3s ago
Process: 5658 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 5658 (code=exited, status=0/SUCCESS)

Iniciando / parando / Reiniciando o serviço com o comando

sudo service postgresql start (or restart or stop)

Não altera nada no comportamento real do sistema.

O log diz:

DETAIL:  Permissions should be u=rwx (0700).
FATAL:  data directory "/var/lib/postgresql/9.4/main" has group or world access
    
por Julo0sS 24.05.2016 / 09:36

3 respostas

4

Em um sistema debian, os arquivos e diretórios postgresql devem pertencer ao usuário postgres , no grupo postgres , com permissões de 0700 (diretórios) ou 0600 (arquivos).

Se eles não são assim, você pode reparar perms & propriedade com:

sudo chown -R postgres:postgres /var/lib/postgresql/9.4/
sudo chmod -R u=rwX,go= /var/lib/postgresql/9.4/

Anote o capital X no comando chmod . Ao contrário de um minúsculo x , isso irá definir o bit de execução somente nos diretórios e nos arquivos que já são executáveis (não deve haver nenhum desses nos diretórios pg ).

e reinicie o serviço postgresql.

    
por 24.05.2016 / 09:53
0

Se você tiver certeza de que seu servidor postgres está em execução, tente efetuar login especificando o host como host local. Quando você diz psql por conta própria, ele está tentando usar um soquete para se conectar.

Eu tive esse problema quando atualizei o Postgres e queria continuar acessando meu antigo servidor. O novo psql ficou confuso.

Tente:

psql -U username -h localhost
    
por 16.02.2017 / 14:52
-1

Depois de fazer todos os passos, ainda estou com um erro.

root@cloud:~# psql -U postgres -h localhost

psql: could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432


root@cloud:~# systemctl status postgresql 
● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; disabled; vendor preset: enabled)
   Active: active (exited) since Wed 2018-03-21 15:37:35 IST; 52min ago
  Process: 12215 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 12215 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/postgresql.service

Mar 21 15:37:35 kencloud systemd[1]: Starting PostgreSQL RDBMS...
Mar 21 15:37:35 kencloud systemd[1]: Started PostgreSQL RDBMS.
    
por 21.03.2018 / 11:57