Zakładając, że jesteś administratorem maszyny, Ubuntu przyznał ci prawo do sudo do uruchamiania dowolnego polecenia jako dowolny użytkownik.
Zakładając również, że nie ograniczyłeś praw w pg_hba.confpliku (w /etc/postgresql/9.1/mainkatalogu), powinien zawierać tę linię jako pierwszą regułę:
local all postgres peer
(Informacje o lokalizacji pliku: 9.1to główna wersja postgres i mainnazwa twojego „klastra”. Będzie się różnić, jeśli używasz nowszej wersji postgres lub nazw innych niż domyślne. Użyj pg_lsclusterspolecenia, aby uzyskać te informacje dla twojej wersji / systemu).
W każdym razie, jeśli pg_hba.confplik nie ma tej linii, edytuj plik, dodaj go i przeładuj usługę za pomocą sudo service postgresql reload.
Wtedy powinieneś być w stanie zalogować się psqljako superużytkownik postgres za pomocą tego polecenia powłoki:
sudo -u postgres psql
Po wejściu do psql wydaj polecenie SQL:
ALTER USER postgres PASSWORD 'newpassword';
W tym poleceniu postgresjest nazwą superużytkownika. Jeśli użytkownik, którego hasło zostało zapomniane ritesh, byłby, polecenie wyglądałoby tak:
ALTER USER ritesh PASSWORD 'newpassword';
Referencje: PostgreSQL 9.1.13 Dokumentacja, Rozdział 19. Uwierzytelnianie klienta
Pamiętaj, że musisz wpisać postgres z pojedynczym S na końcu
Jeśli pozostawienie hasła w postaci zwykłego tekstu w historii poleceń lub w dzienniku serwera jest problemem, psql zapewnia interaktywną meta-polecenie, aby tego uniknąć, jako alternatywę dla ALTER USER ... PASSWORD:
\password username
Pyta o hasło, wpisując podwójnie ślepą próbę, następnie haszuje je zgodnie z password_encryptionustawieniem i wydaje ALTER USERpolecenie do serwera z zaszyfrowaną wersją hasła zamiast wersji jawnej.