Spotkałem się z 4 rolami, które utworzyłem:
po zmianie hasła dla użytkownika w pgAdmin III za pomocą GUI (1), ten użytkownik nie może się już zalogować.
pgAdmin III pokazuje komunikat o błędzie:
An error has occurred:
Error connecting to the server: FATAL: password authentication failed for user "sam"
FATAL: password authentication failed for user "sam"
Mój system: Postgresql 9.2 na Ubuntu 12.04
Czy jest jakiś sposób to naprawić?
(1): zaloguj się za pomocą konta postgres, kliknij prawym przyciskiem myszy użytkownika w Role logowania, przejdź do zakładki „Definicja” i wprowadź hasło
źródło
trust
lubpeer
wpg_hba.conf
pliku dla tego konta.Prostą rzeczą jest zalogowanie się za pomocą psql lub pgAdmin i
Teraz, jeśli nie możesz zalogować się przy użyciu konta administratora, możesz odzyskać, zmieniając ustawienia pg_hba.conf dla tego użytkownika i ponownie ładując konfigurację (czasami uważam, że wymaga to zrestartowania serwera, ale nie jestem pewien, dlaczego).
Możesz dodać linię, która pozwala zalogować się przy użyciu metody ident (peer in 9.2) (jeśli możesz użyć lokalnego konta systemowego o tej samej nazwie co użytkownik) dla lokalnych połączeń dla użytkownika lub (jeśli nie jest to możliwe) ustaw na „zaufanie” (bardzo tymczasowo!). Jeśli używasz zaufania, wycofaj się jak najszybciej, ponieważ oznacza to „zaufanie, że użytkownik jest tym, za kogo się podaje!” w związku z tym niebezpieczne jest pozostawienie włączonego poza natychmiastowymi potrzebami odzyskiwania.
Po zalogowaniu możesz zresetować hasło powyżej.
źródło
W przypadku wariantu Windows - również ten paskudny błąd wystąpił z powodu pgAdmin dla mojej instalacji Windows x64 w wersji 9.2. To sparaliżowało moją produkcję.
W folderze
C:\Program Files\PostgreSQL\9.2\data
lubC:\Program Files (x86)\PostgreSQL\9.**x**\data
znajdziesz plik tekstowy pg_hba.conf .Znajdź następujące linie:
i zmień METODĘ md5 na „ufaj” w ten sposób:
Z
Windows>Run
typu „services.msc” i [enter] znajdź odpowiednią instancję PostgreSQL i zrestartuj ją.Twoje zabezpieczenia DB są teraz szeroko otwarte! Zwróć uwagę na ostrzeżenie, aby powrócić do md5 po zmianie czasu wygaśnięcia hasła użytkownika na rok 2099 dla wszystkich odpowiednich użytkowników.
źródło
Jeśli jeszcze tego nie próbowałeś, sprawdź plik pg_hba.conf. Będzie się nazywać tak jak /var/lib/pgsql/9.3/data/pg_hba.conf (Fedora 20); może być konieczne użycie polecenia „find / -name pg_hba.conf”, aby go zlokalizować.
Na dole pliku zmień wartości „METODA” na „zaufanie” w testach lokalnych (pełne informacje znajdziesz w dokumentacji Postgres). Uruchom ponownie maszynę, aby upewnić się, że wszystko zostało uruchomione w czystości, a nowe parametry zostały odczytane.
Mam nadzieję, że to wyleczy twoje nieszczęścia. Rozwiązało to moje problemy na Fedorze 20 z PostgreSQL 9.3.
AKTUALIZACJA 14.10.2016:
W systemie Ubuntu potrzebna jest nazwa pliku
/etc/postgresql/9.5/main/pg_hba.conf
. Tylko do testowania lokalnego , zmodyfikuj go tak, aby wyglądał następująco:Dwie linie z METODĄ „zaufanie” są nowe. Pozwalają ci łączyć się bez nazwy użytkownika / hasła.
Po zakończeniu konieczne będzie ponowne uruchomienie serwera za pomocą:
źródło
pg_hba.conf
zadziałało, potrzebujesz tylko ponownego załadowania, a nie ponownego uruchomienia. Co więcej, twoja sugestia wygląda na niepełną, ponieważ nie jest jasne, jak to rozwiązałoby problem na końcu.Właśnie miałem ten sam problem i okazało się, że miałem wielu użytkowników o tej samej nazwie (różne przypadki). Kiedy połączyłem własność i usunąłem jedną, było to przynajmniej jasne. W zależności od metody połączenia sprawa niekoniecznie została przekazana do uwierzytelnienia.
źródło