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.