Por que não consigo me conectar ao meu banco de dados PostgreSQL?

1

Estou tentando instalar o tentd-admin .

A instalação falha durante este passo:

$ DATABASE_URL=postgres://localhost/tent_server bundle exec rake db:migrate

Eu também tentei isso:

$ DATABASE_URL=postgres://tent:tent@localhost/tent_server bundle exec rake db:migrate

A mensagem de erro que recebi é:

Error: Sequel::DatabaseConnectionError: PG::Error: FATAL:  Ident authentication failed for user "tent"
/usr/local/rvm/gems/ruby-1.9.3-p392/gems/sequel-3.43.0/lib/sequel/adapters/postgres.rb:208:in 'initialize'

Minha configuração do Postgres é semelhante a:

$ cat ~/.pgpass
localhost:5432:tent_server:tent:tent

postgres=# CREATE USER tent WITH password 'tent';
CREATE ROLE

postgres=# CREATE DATABASE tent_server with OWNER tent;
CREATE DATABASE
    
por brakertech 03.04.2013 / 18:16

1 resposta

4

Problema

FATAL: Ident authentication failed for user "tent"
O Postgres está tentando usar a autenticação ident e não está funcionando como esperado.

Solução

  1. Leia o manual do Postgres, especificamente a seção sobre pg_hba.conf e a seção sobre ident authentication .
  2. Qualquer um dos seguintes
    • Perceba que ident autenticação não é o que você deseja e configure algo mais apropriado .
    • Corrija seu mapeamento de usuário ident e / ou seu daemon identd para funcionar como o Postgres espera.

Recomendação

A autenticação

ident é muito ruim (a segurança baseada no cliente e a mentira sobre quem você é são triviais para um invasor). Configure um dos muitos outros métodos de autenticação (com segurança real).

Como alternativa, conecte-se a um soquete local (unix) usando trust authentication, se preferir (mas observe que isso tem implicações de segurança próprias).

    
por 03.04.2013 / 18:30