PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak ustawić domyślne hasło użytkownika w PostgreSQL?

Po pierwsze, ważne jest, aby zrozumieć, że w większości dystrybucji Uniksa domyślny użytkownik Postgresa nie wymaga ani nie używa hasła do uwierzytelniania. Zamiast tego, w zależności od tego, jak oryginalnie zainstalowano Postgres i jakiej wersji używasz, domyślną metodą uwierzytelniania będzie ident lub peer .

ident uwierzytelnianie wykorzystuje serwer identyfikacji systemu operacyjnego działający na porcie TCP 113 w celu zweryfikowania poświadczeń użytkownika.

peer z drugiej strony uwierzytelnianie jest używane do połączeń lokalnych i sprawdza, czy nazwa zalogowanego użytkownika systemu operacyjnego jest zgodna z nazwą użytkownika bazy danych Postgres.

Zaloguj się i połącz jako użytkownik domyślny

W większości systemów domyślnym użytkownikiem Postgresa jest postgres a hasło nie jest wymagane do uwierzytelnienia. Tak więc, aby dodać hasło, musimy najpierw zalogować się i połączyć jako postgres użytkownika.

$ sudo -u postgres psql

Jeśli udało Ci się połączyć i wyświetlasz psql monit, przejdź do Zmiana hasła sekcja.

Jeśli otrzymałeś błąd z informacją, że baza danych „postgres” nie istnieje, spróbuj połączyć się z template1 zamiast tego i jeśli się powiedzie, przejdź do Zmiany hasła .

$ sudo -u postgres psql template1

Błąd uwierzytelniania

Jeśli otrzymasz błąd uwierzytelniania podczas próby połączenia z psql klienta, może być konieczna zmiana pliku konfiguracyjnego uwierzytelniania Postgres (pg_hfa.conf).

Otwórz plik konfiguracyjny, zwykle znajdujący się w /etc/postgresql/#.#/main/pg_hba.conf , gdzie #.# to wersja Postgresa, której używasz:

$ sudo nano /etc/postgresql/9.3/main/pg_hba.conf

Plik konfiguracyjny auth to lista reguł uwierzytelniania. Przewiń plik w dół, aż znajdziesz pierwszą linię wyświetlającą postgres użytkownika w trzeciej kolumnie (jeśli taka linia istnieje). W razie potrzeby usuń komentarz z wiersza (usuń średnik) lub w przeciwnym razie, jeśli całkowicie go brakuje, dodaj następujący wiersz na początku pliku i zapisz zmiany:

local all postgres peer

Ta reguła uwierzytelniania po prostu mówi Postgresowi, że dla lokalnych połączeń nawiązanych ze wszystkimi bazami danych dla użytkownika postgres , uwierzytelnij się za pomocą peer protokół.

Uwaga:Niektóre starsze wersje Postgresa preferują domyślną metodę uwierzytelniania, jaką jest ident, ale większość nowoczesnych instalacji będzie korzystać z peera, jak określono powyżej. Być może będziesz musiał przetestować oba, jeśli Twoje wyniki się różnią.

Teraz, po zaktualizowaniu pliku konfiguracyjnego, powtórz kroki opisane w Zaloguj się i połącz jako użytkownik domyślny sekcja, z którą chcesz się połączyć jako domyślny postgres użytkownik. Gdy się powiedzie, przejdź do zmiany hasła.

Zmiana hasła

Po nawiązaniu połączenia z Postgresem w psql monit, wydaj polecenie ALTER USER polecenie do zmiany hasła dla postgres użytkownik:

postgres=# ALTER USER postgres PASSWORD 'myPassword';
ALTER ROLE

Jeśli się powiedzie, Postgres wyświetli potwierdzenie ALTER ROLE jak widać powyżej.

Na koniec wyjdź z psql klienta za pomocą \q polecenie.

postgres=# \q

Wszystko gotowe. Domyślny postgres użytkownik ma teraz hasło powiązane z kontem do użytku w innych aplikacjach.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak make_timestamptz() działa w PostgreSQL

  2. Jak ograniczyć dostęp do bazy danych w PostgreSQL

  3. [Wideo] Ansible i PostgreSQL

  4. 8 nowych funkcji zgodności z Oracle w EnterpriseDB PPAS 9.2 Beta

  5. Przechowywanie strefy czasowej w znaczniku czasu typu danych ze strefą czasową