Postgresql: autenticazione password non riuscita per utente “postgres”

Ho installato PostgreSQL 8.4, client Postgres e Pgadmin 3. Autenticazione non riuscita per l’utente “postgres” sia per console client che per Pgadmin. Ho digitato utente come “postgres” e password “postgres”, perché ha funzionato prima. Ma ora l’autenticazione è fallita. L’ho fatto prima un paio di volte senza questo problema. Cosa dovrei fare? E cosa succede?

psql -U postgres -h localhost -W Password for user postgres: psql: FATAL: password authentication failed for user "postgres" FATAL: password authentication failed for user "postgres" 

Se ricordo correttamente, l’utente postgres non ha password DB impostate su Ubuntu per impostazione predefinita. Ciò significa che è ansible accedere a tale account solo utilizzando l’account utente del sistema operativo postgres .

Supponendo che tu abbia l’accesso root sulla scatola puoi fare:

 sudo -u postgres psql 

Se fallisce con un database "postgres" does not exists errore, allora probabilmente non sei su un server Ubuntu o Debian 🙂 In questo caso aggiungi semplicemente template1 al comando:

 sudo -u postgres psql template1 

Se uno di questi comandi fallisce con un errore psql: FATAL: password authentication failed for user "postgres" quindi controlla il file /etc/postgresql/8.4/main/pg_hba.conf : ci deve essere una riga come questa come la prima non- riga di commento:

 local all postgres ident 

Per le versioni più recenti di PostgreSQL ident potrebbe essere effettivamente peer . Va bene anche

All’interno della shell di psql puoi dare una password all’utente di DB postgres :

 ALTER USER postgres PASSWORD 'newPassword'; 

Puoi lasciare la shell psql digitando Ctrl D o con il comando \q .

Ora dovresti essere in grado di dare a pgAdmin una password valida per il superutente DB e sarà anche felice. 🙂

La risposta del personale è corretta, ma se vuoi automatizzare ulteriormente puoi fare:

$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"

Fatto! Hai salvato User = postgres e password = postgres.

Se non si dispone di una password per l’utente postgres ubuntu do:

$ sudo passwd postgres

Questo è stato frustrante, la maggior parte delle risposte di cui sopra sono corrette ma non riescono a menzionare che è necessario riavviare il servizio database prima che le modifiche nel file pg_hba.conf abbiano effetto.

quindi se fai qualcosa come sopra

locale tutto postgres ident

quindi riavvia come root (su centos è qualcosa come servizio di servizio postgresql-9.2 restart) ora dovresti essere in grado di accedere al db come utente postgres

$ psql psql (9.2.4) Digitare “help” per aiuto.

postgres = #

Spero che questo aggiunga informazioni per i nuovi utenti di Postgres

Modifica il file pg_hba.conf, ad esempio con sudo emacs /etc/postgresql/9.3/main/pg_hba.conf

Cambia tutti i metodi di autenticazione in trust . Cambia password Unix per l’utente “postgres”. Riavvia il server. Accedi con psql -h localhost -U postgres e usa la password Unix appena impostata. Se funziona, puoi reimpostare il file pg_hba.conf sui valori predefiniti.

Se stai cercando di accedere alla shell di Postgres come utente di Postgres, puoi usare i seguenti comandi.

passa a utente postgres

 # su - postgres 

accedi a psql

 # psql 

Spero possa aiutare

Prova a non utilizzare il parametro -W e lascia la password vuota. A volte l’utente viene creato senza password.

Se ciò non funziona resettare la password. Ci sono diversi modi per farlo, ma questo funziona su molti sistemi:

 $ su root $ su postgres $ psql -h localhost > ALTER USER postgres with password 'YourNewPassword'; 

Come regola generale: NON DEVI MAI MAI IMPOSTA UNA PASSWORD PER L’UTENTE POSTGRES .

Se hai bisogno di un accesso da superutente da pgAdmin, crea un altro superutente. In questo modo, se le credenziali per quel superutente sono compromesse, puoi sempre eseguire ssh nell’host del database effettivo e eliminare manualmente il superutente utilizzando

 sudo -u postgres -c "DROP ROLE superuser;" 

Volevo solo aggiungere che dovresti anche controllare se la tua password è scaduta.

Vedi l’ autenticazione della password di Postgres fallisce per i dettagli.

Ecco alcune combinazioni che ho provato ad accedere:

 # login via user foo psql -Ufoo -h localhost sudo -u postgres psql postgres # user foo login to postgres db psql -Ufoo -h localhost -d postgres 

ho avuto un problema simile Ubuntu mi ha lasciato il login in console con qualsiasi password per superutente. Tranne quando mi sono connesso con -h localhost nel comando psql line.

Ho osservato anche che “localhost: 8080 / MyJSPSiteLogIn” – ha mostrato: Fatal: errore di autenticazione con utente “utente”.

pg_hba.conf era ok.

Ho notato due versioni di postgres in esecuzione nello stesso servizio.

Risolto – disinstallando la versione di inutil.

Per coloro che lo utilizzano per la prima volta e non hanno informazioni su quale sia la password, possono seguire i passaggi seguenti (assumendo che tu sia su ubuntu):

  1. Apri il file pg_hba.conf in /etc/postgresql/9.x/main

      sudo vi pg_hba.conf 

    2. modificare la riga sottostante

      local all postgres peer 

    a

      local all postgres trust 
  2. Riavvia il server

      sudo service postgresql restart 
  3. Finalmente puoi effettuare il login senza bisogno di una password come mostrato nella figura Finalmente puoi effettuare il login senza bisogno di una password come mostrato nella figura

Ref qui per maggiori informazioni

Spero che questo ti aiuti a breve tempo. È ansible modificare la password di postgres sql utilizzando il comando muggito.

Comando

sudo -u postgres psql

E dopo puoi aggiornare la password

Comando

Modifica la password postgres dell’utente ‘YOUR_NEW_PASSWORD’;