Jak sprawdzić użytkownika i hasło postgres? [Zamknięte]

104

Mój przyjaciel zrobił tę konfigurację na moim Macu. Ale nie znam nazwy użytkownika i hasła, które wybrał.

ThiagoLeal
źródło
hasła są przechowywane w postaci skrótów jednokierunkowych. nie możesz pobrać surowego hasła z bazy danych, ponieważ już nie istnieje. Porozmawiaj z przyjacielem. a poza tym offtopic dla tej witryny.
Marc B
45
Doceniam, że to jest poza tematem. Ale jest to również hit numer jeden w wyszukiwarce Google dla hasła „postgres show password”, a odpowiedź była przydatna w moim problemie programistycznym.
Steven Noble
3
Jest to więc nie „off topic” na tej stronie. Jest to pytanie programistyczne o to, jak wykonać określone zadanie.
Maiya

Odpowiedzi:

165

Nie będziesz w stanie znaleźć hasła, które wybrał. Możesz jednak utworzyć nowego użytkownika lub ustawić nowe hasło dla istniejącego użytkownika.

Zwykle możesz zalogować się jako użytkownik postgres:

Otwórz terminal i zrób sudo su postgres. Teraz, po wprowadzeniu hasła administratora, możesz uruchomić psqli zrobić

CREATE USER yourname WITH SUPERUSER PASSWORD 'yourpassword';

Spowoduje to utworzenie nowego administratora. Jeśli chcesz wyświetlić listę istniejących użytkowników, możesz również to zrobić

\du

aby wyświetlić wszystkich użytkowników, a następnie

ALTER USER yourusername WITH PASSWORD 'yournewpass';
Thilo
źródło
Zakładam więc, że należy to zrobić za pomocą narzędzia psql, ale nie jest to możliwe w ramach pgadmin
JohnMerlino
@JohnMerlino możesz wyświetlać i tworzyć użytkowników przez phppgadmin, ale nie będziesz mógł się zalogować, jeśli nie znasz hasła do żadnego konta.
Mark
Jak uzyskać do tego dostęp za pomocą ciągu adresu URL? Na przykład, jeśli masz aplikację, która łączy się z bazą danych, czy musisz wprowadzić swoją nazwę użytkownika i hasło w adresie URL?
Maiya
8

Możesz zmienić pg_hba.conf, a następnie załadować ponownie postgresql. coś w pg_hba.conf może wyglądać jak poniżej:

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust

następnie zmień użytkownika na postgresql, możesz się zalogować.

su postgresql
lite
źródło