In primo luogo, è importante capire che per la maggior parte delle distribuzioni Unix, l’utente Postgres predefinito non richiede né utilizza una password per l’autenticazione. Invece, a seconda di come Postgres è stato originariamente installato e di quale versione si sta utilizzando, il metodo di autenticazione predefinito sarà ident
o peer
.,
ident
l’autenticazione utilizza il server di identificazione del sistema operativo in esecuzione sulla porta TCP 113 per verificare le credenziali dell’utente.
peer
autenticazione d’altra parte, viene utilizzato per le connessioni locali e verifica che il nome utente registrato del sistema operativo corrisponde al nome utente per il database Postgres.
Effettua il login e connetti come utente predefinito
Per la maggior parte dei sistemi, l’utente Postgres predefinito èpostgres
e non è richiesta una password per l’autenticazione., Pertanto, per aggiungere una password, dobbiamo prima effettuare il login e connetterci come utentepostgres
.
$ sudo -u postgres psql
Se si è connessi correttamente e si sta visualizzando il prompt psql
, saltare alla sezione Modifica della password.
Se hai ricevuto un errore che indica che il database “postgres” non esiste, prova a connetterti al database template1
e, in caso di successo, continua a Cambiare la password.,
$ sudo -u postgres psql template1
Errore di Autenticazione
Se si riceve un errore di autenticazione quando si tenta di connettersi al psql
client, potrebbe essere necessario modificare il Postgres autenticazione del file di configurazione (pg_hfa.conf).
Aprire il file di configurazione, in genere si trova nel /etc/postgresql/#.#/main/pg_hba.conf
, dove #.#
è il Postgres versione che si sta utilizzando:
$ sudo nano /etc/postgresql/9.3/main/pg_hba.conf
auth file di configurazione è un elenco di regole di autenticazione., Scorrere il file fino a individuare la prima riga che visualizza l’utente postgres
nella terza colonna (se tale riga esiste). Il commento (se necessario rimuovere il punto e virgola), o altrimenti se la linea è del tutto assente, aggiungere la seguente riga all’inizio del file e salvare le modifiche:
local all postgres peer
Questa regola di autenticazione dice semplicemente Postgres che per le connessioni locali istituito per tutti i database per l’utente postgres
l’autenticazione utilizzando il peer
protocollo.,
Nota: alcune versioni precedenti di Postgres preferiscono il metodo di autenticazione predefinito di ident, ma la maggior parte delle installazioni moderne utilizzerà il peer come specificato sopra. Potrebbe essere necessario testare entrambi se i risultati differiscono.
Ora con il tuo file di configurazione aggiornato, ripeti i passaggi nella sezione Login e Connetti come utente predefinito per provare a connetterti come utentepostgres
predefinito. Una volta riuscito, procedere con la modifica della password.,
la Modifica della Password
Con una connessione ora stabilita per Postgres al psql
prompt dei comandi, eseguire il ALTER USER
comando per modificare la password per il postgres
utente:
postgres=# ALTER USER postgres PASSWORD 'myPassword';ALTER ROLE
in Caso di successo, Postgres emetterà una conferma di ALTER ROLE
come visto sopra.
Infine, uscire dal client psql
utilizzando il comando \q
.
postgres=# \q
Hai finito., L’utente postgres
predefinito ora ha una password associata all’account da utilizzare nelle altre applicazioni.