Não é possível conectar-se ao postgresql na máquina local usando IP + pgadmin

1

No Ubuntu 12.04, instalei o pg e o pgadmin.

Eu posso acessar localhost / phppgadmin usando o navegador.

Eu também posso fazer isso: IP / phppgadmin .

No entanto, não consigo usar o número IP para se conectar ao pg usando pgadmin.

Ele informa que o servidor não está escutando.

Alguma idéia sobre isso?

    
por itsols 28.10.2012 / 16:32

3 respostas

1

O PostgreSQL, por padrão, escuta apenas no sockect UNIX local. Para ativar o comentário do nó de extremidade TCP / IP no seu arquivo postgresql.conf:

listen_addresses = '*'

Onde '*' - escute em todas as interfaces. Ou coloque seu número de IP aqui se quiser escutar apenas IPs específicos.

link

    
por 28.10.2012 / 16:55
1

Qual é a mensagem de erro que você recebe do PGAdmin? Existe alguma coisa nos logs ( /var/log/postgresql.log ou similar)?

Eu acho que você não tem nenhuma configuração de autenticação adequada em seu pg_hba.conf , como o PostgreSQL por padrão, apenas permite que usuários locais através de soquetes unix se conectem, não via TCP que você deseja. Você pode precisar de algo como

host       all  all  0.0.0.0  pam

ou

hostssl       all  all  0.0.0.0  md5

no pg_hba.conf - leia o link acima para documentação apropriada:)

    
por 28.10.2012 / 17:38
0

Obrigado aos diferentes usuários que me ajudaram a diminuir o problema. Na verdade, havia vários problemas. Eu os descrevi aqui como uma resposta completa e espero que alguém mais se beneficie.

  1. como o RJS disse, eu tive que colocar os listen_addresses para aceitar vários IPs. Isso foi feito inicialmente, mas mais tarde percebi que a linha tinha um # na frente do que significava que foi comentado. Então tirei o comentário.

  2. Mesmo depois de parar o servidor PG, pg_lsclusters mostrou que ainda havia um serviço em execução. Por isso, não consegui reiniciá-lo, pois ele informava que já estava em execução.

  3. Em seguida, usando ps , descobri que um programa relacionado conhecido como pgpool estava usando a mesma porta e não deixaria a porta 5432 padrão ser usada pelo PG . Então eu parei isso no terminal usando sudo pgpool stop .

  4. Então eu reiniciei o servidor postgres e tudo estava bem!

    Enquanto procurávamos por uma resposta, o voluntário RhodiumToad disse ao IRC (#postgresql) que o pool não era necessário para o que eu estava fazendo. Eu fui perguntado por que eu tenho isso. O estranho é que nunca o instalei. Talvez o pgpool tenha sido instalado como alguma adição.

  5. Um dos outros problemas foi que eu não pude fazer o pgadmin iniciar no Windows. e conecte corretamente. Houve um libpq.dll faltando. Aparentemente (você encontrará outro post no stackoverflow sobre isso), o arquivo estava lá em alguns lugares no Win XP. Então copiei todos os arquivos DLL postgres para o Windows / System32 e consertei isso.

É isso! Espero que isso ajude.

    
por 29.10.2012 / 08:54