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