Reimpostazione della password di PostgreSQL su Ubuntu [chiuso]


91

In Ubuntu, ho installato il database PostgreSQL e ho creato un superutente per il server.

Se ho dimenticato la password del superutente postgresql, come posso reimpostarla (la password) per quell'utente?

Ho provato a disinstallarlo e quindi a installarlo di nuovo, ma il superutente creato in precedenza viene mantenuto.

Risposte:


208

Supponendo che tu sia l'amministratore della macchina, Ubuntu ti ha concesso il diritto di sudo per eseguire qualsiasi comando come qualsiasi utente.
Anche supponendo che tu non abbia limitato i diritti nel pg_hba.conffile (nella /etc/postgresql/9.1/maindirectory), dovrebbe contenere questa riga come prima regola:

# Database administrative login by Unix domain socket  
local   all             postgres                                peer

(Informazioni sul percorso del file: 9.1è la versione principale di postgres e mainil nome del "cluster". Sarà diverso se si utilizza una versione più recente di postgres o nomi non predefiniti. Utilizzare ilpg_lsclusters comando per ottenere queste informazioni per la propria versione / sistema).

Ad ogni modo, se il pg_hba.conffile non ha quella riga, modifica il file, aggiungilo e ricarica il servizio con sudo service postgresql reload.

Quindi dovresti essere in grado di accedere psqlcome superutente di postgres con questo comando di shell:

sudo -u postgres psql

Una volta dentro psql, emetti il ​​comando SQL:

ALTER USER postgres PASSWORD 'newpassword';

In questo comando, postgresè il nome di un superutente. Se l'utente la cui password è stata dimenticata fosse ritesh, il comando sarebbe:

ALTER USER ritesh PASSWORD 'newpassword';

Riferimenti: PostgreSQL 9.1.13 Documentation, Capitolo 19. Autenticazione client

Tieni presente che devi digitare postgres con una sola S alla fine


2
ho usato il tuo metodo il mio nome utente super è ritesh il mio pg_hba.conf è quello come hai menzionato. eseguo il comando "ALTER USER postgres PASSWORD 'newpassword';" la console mostra 'ALTER ROLE'. poi sono uscito usando ctrl + c dopodiché ho eseguito un comando createuser .mostra per inserire una password ho inserito newpassword ma mi dà un errore "createuser: impossibile connettersi al database postgres: FATAL : autenticazione della password fallita per l'utente "ritesh" ".come creare un utente e quale dovrebbe essere la password per questo comando ??
— Ritesh Mehandiratta,

Se si desidera modificare la password per ritesh, modificare l'SQL sopra inALTER USER ritesh PASSWORD 'newpassword'
— Daniel Vérité

dovresti riavviare postgres dopo aver modificato pg_hba.conf ....
— Mahdi

1
Non è necessario riavviare, basta usare pg_ctl reload.
— hbn
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.