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.conf
file (nella /etc/postgresql/9.1/main
directory), 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 main
il 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.conf
file non ha quella riga, modifica il file, aggiungilo e ricarica il servizio con sudo service postgresql reload
.
Quindi dovresti essere in grado di accedere psql
come 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