GNU/Linux >> Linux Esercitazione >  >> Linux

Messaggio di errore Postgres:FATAL:autenticazione Ident non riuscita per l'utente ...

Soluzione 1:

Significa che Postgres sta tentando di autenticare un utente utilizzando il protocollo Ident e non può. Ident auth funziona così:

  • Hai il ruolo del database 'foo' nel database 'db'
  • Il tuo pg_hba.conf file (in /etc/postgres-something/main ) definisce 'Ident' come il protocollo per connettersi al database db per gli utenti che si connettono da determinati host
  • Il nome utente unix che effettua la connessione è 'foo'
  • Un server Ident in esecuzione sulla macchina da cui l'utente si sta connettendo conferma che il suo nome utente è davvero 'foo'

Possibili cause e soluzioni:

  1. Non c'è nessun server Ident in esecuzione sulla macchina da cui stai tentando di connetterti. Prova questo provando a connetterti ad esso sulla porta 113. Se fallisce, installa un server Ident (ad esempio, sudo apt-get install oidentd ).
  2. C'è un server Ident, ma non c'è nessun ruolo del database corrispondente al nome con cui stai tentando di connetterti ("foo" nell'esempio precedente). Quindi crealo collegandoti in qualche modo al database con i diritti di superutente e fai CREATE ROLE foo . In alternativa, aggiungi una voce a /etc/postgresql/.../main/pg_ident.conf (o /var/lib/pgsql/12/data o dovunque).

  3. Forse il nome utente della shell non corrisponde il ruolo del database. Potresti essere in grado di verificarlo collegandoti al server Ident mentre è in corso una connessione e passando i numeri di porta corretti.

  4. Forse vuoi davvero connetterti con una password , non ident. Modifica il pg_hba.conf archiviare in modo appropriato. Ad esempio, modifica:

    host all all 127.0.0.1/32 ident
    

    a

    host all all 127.0.0.1/32 md5
    

Soluzione 2:

Non sono sicuro delle cause, ma questo l'ha risolto per me:

in pg_hba.conf

modificare in questo:

ospita tutti i 127.0.0.1/32 md5

Errore esatto:Caused by: org.postgresql.util.PSQLException: FATAL: Ident authentication failed for user "postgres"

Soluzione 3:

Su CentOS, aggiungi la seguente riga a /var/lib/pgsql/9.3/data/pg_hba.conf :

host all all 127.0.0.1/32 trust

E commenta le altre voci.

Ovviamente questa impostazione non sicuro, ma se stai solo scherzando su una VM di sviluppo come me, allora probabilmente va bene...


Linux
  1. httpd:apr_sockaddr_info_get() non riuscito per rhel7

  2. Errore:convalida md5 non riuscita per PyYAML-3.11.zip possibile problema di download? [Soluzione]

  3. Errore di avvio della VM OpenStack – Ultima eccezione:associazione non riuscita per la porta [Risolto]

  4. Impossibile avviare il server di database PostgreSQL – Agente di autenticazione non registrato per processo unix [Risolto]

  5. Errore OpenCA addMessage non riuscito per lo slot di registro XML. Impossibile creare la directory [Risolto]

Come risolvere l'errore MySQL:accesso negato all'utente [e-mail protetta]

Disabilita l'autenticazione con password SSH per utenti o gruppi specifici

Modifica il metodo di autenticazione per l'utente root MySQL in Ubuntu

Risoluzione dei problemi:errore MySQL/MariaDB n. 1044 e n. 1045 accesso negato all'utente

Correzione – Errore:impossibile scaricare i metadati per il flusso di app del repository – CentOS 8

Come risolvere l'errore SSH "Troppi errori di autenticazione per l'utente root"?