W tym samouczku przyjrzymy się, jak zresetować hasła dla użytkowników z serwerem PostgreSQL. Warto pamiętać, że użytkownicy bazy danych w tym przypadku odnoszą się do użytkowników posiadających dostęp do silnika bazy danych. Dlatego nie obejmuje to danych użytkownika dla żadnej aplikacji.
Metoda 1: Korzystanie z narzędzia PSQL
Najczęstszym sposobem resetowania hasła użytkownika w PostgreSQL jest zalogowanie się jako superużytkownik (Postgres) za pomocą narzędzia PSQL.
Uruchom nową sesję terminala i uruchom następujące polecenie, aby uzyskać dostęp do bazy danych PostgreSQL jako administrator:
$ psql -W postgres
Podane polecenie monituje o podanie hasła superużytkownika zdefiniowanego podczas konfiguracji serwera.
Po zalogowaniu się do interfejsu wiersza poleceń PostgreSQL możesz użyć polecenia ALTER USER, aby zresetować hasło określonej nazwy użytkownika.
Składnia polecenia jest następująca:
ZMIEŃ UŻYTKOWNIKA nazwę użytkownika Z HASŁEM 'nowe hasło' ;Załóżmy na przykład, że chcemy zresetować hasło dla nazwy użytkownika o nazwie „linuxhint”. Zapytanie możemy uruchomić w następujący sposób:
ZMIEŃ UŻYTKOWNIKA linuxhint ZA POMOCĄ HASŁA 'hasło' ;
Hasło należy ująć w pojedyncze cudzysłowy, zwłaszcza jeśli hasło zawiera znaki specjalne.
Po pomyślnym wykonaniu polecenia możesz wylogować się z interfejsu PSQL za pomocą następującego polecenia:
\QMetoda 2: Korzystanie z interfejsu graficznego PgAdmin
Możesz również zresetować hasło danego użytkownika bazy danych za pomocą interfejsu graficznego pgAdmin.
Możesz wykonać kroki opisane tutaj, aby dowiedzieć się, jak zresetować hasło użytkownika za pomocą pgAdmin:
A. Uruchom narzędzie pgAdmin i zaloguj się przy użyciu poprawnych poświadczeń.
B. Połącz się z docelowym serwerem PostgreSQL, używając poświadczeń administratora.
C. W okienku Eksplorator obiektów po lewej stronie rozwiń grupę „Serwery” i przejdź do docelowej bazy danych.
D. Rozwiń węzeł „Logowanie/Role grupowe”, aby znaleźć użytkownika, którego hasło chcesz zresetować. W takim przypadku chcemy zresetować hasło użytkownika „linuxhint”.
mi. Kliknij prawym przyciskiem myszy wybranego użytkownika i wybierz „Właściwości” z menu kontekstowego.
F. W oknie „Właściwości” przejdź do zakładki „Definicja”.
G. Podaj nowe hasło w polu „Hasło” dla zdefiniowanego użytkownika.
H. Na koniec kliknij „Zapisz”, aby zapisać zmiany.
To powinno ustawić nowo podane hasło dla użytkownika docelowego.
Metoda 3: Edycja pliku konfiguracyjnego hasła PostgreSQL
Jeśli zapomniałeś hasła do konta superużytkownika, możesz zresetować hasło, edytując plik konfiguracyjny hasła PostgreSQL.
Zacznij od zlokalizowania katalogu danych dla instalacji PostgreSQL. Ścieżka do tego katalogu różni się w zależności od systemu operacyjnego i zainstalowanej wersji PostgreSQL.
W katalogu danych znajdź plik pg_hba.conf i edytuj go za pomocą wybranego edytora tekstu.
Zmodyfikuj wszystkie połączenia lokalne z md5 na trust. To mówi PostgreSQL, aby ufał wszystkim połączeniom przychodzącym z komputera lokalnego bez hasła.
# TYP BAZA DANYCH UŻYTKOWNIK ADRES METODA# „local” dotyczy tylko połączeń z gniazdem domeny Unix
lokalne wszystkie wszystkie zaufanie
# Połączenia lokalne IPv4:
host wszystko wszystko 127.0.0.1/32 zaufanie
# Połączenia lokalne IPv6:
gospodarz wszyscy wszyscy ::1/128 zaufanie
# Zezwalaj na połączenia replikacyjne z hosta lokalnego przez użytkownika z
# uprawnienia do replikacji.
replikacja lokalna wszystkie zaufanie
replikacja hosta wszystkie 127.0.0.1/32 zaufanie
replikacja hosta wszystkie ::1/128 zaufanie
Po zakończeniu musisz zrestartować serwer PostgreSQL, aby zmiany odniosły skutek. Następnie możesz zalogować się do serwera PostgreSQL przy użyciu użytkownika Postgres bez hasła.
Wniosek
Zbadaliśmy różne metody i techniki, których możemy użyć do zresetowania hasła użytkownika w PostgreSQL.