Postgresql: uwierzytelnianie hasłem nie powiodło się dla użytkownika " postgres"

Zainstalowałem PostgreSQL 8.4, Postgres client i Pgadmin 3. Uwierzytelnianie nie powiodło się dla użytkownika "postgres" zarówno dla klienta konsoli, jak i Pgadmin. Wpisałem użytkownika jako "postgres" i hasło "postgres", ponieważ działało wcześniej. Ale teraz uwierzytelnianie nie powiodło się. Zrobiłem to wcześniej kilka razy bez tego problemu. Co mam zrobić? I co się dzieje?

psql -U postgres -h localhost -W
Password for user postgres: 
psql: FATAL:  password authentication failed for user "postgres"
FATAL:  password authentication failed for user "postgres"
Author: I159, 2011-10-08

12 answers

O ile dobrze pamiętam użytkownik postgresnie ma domyślnie ustawionego hasła DB na Ubuntu. Oznacza to, że możesz zalogować się na to konto tylko za pomocą postgres konto użytkownika OS.

Zakładając, że masz root dostęp na skrzynce możesz zrobić:

sudo -u postgres psql

Jeśli to nie powiedzie się z błędem database "postgres" does not exists, to najprawdopodobniej nie jesteś na serwerze Ubuntu lub Debiana :-) w tym przypadku wystarczy dodać template1 do polecenia:

sudo -u postgres psql template1

Jeśli któraś z tych komend zawiedzie z błąd psql: FATAL: password authentication failed for user "postgres" następnie sprawdź plik /etc/postgresql/8.4/main/pg_hba.conf: musi być taka linia jako pierwsza linia Bez komentarza:

local   all         postgres                          ident

Dla nowszych wersji PostgreSQL ident faktycznie może być peer. To też w porządku.

Wewnątrz powłoki psql możesz dać użytkownikowi DB postgres hasło:

ALTER USER postgres PASSWORD 'newPassword';

Możesz zostawić psql powłokę wpisując CtrlD lub poleceniem \q.

Teraz powinieneś być w stanie podać pgAdmin poprawne hasło dla DB superużytkownik i będzie też szczęśliwy. :-)

 549
Author: A.H.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-14 05:07:47

Odpowiedź personelu jest poprawna, ale jeśli chcesz dalej zautomatyzować można zrobić:

$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"

Zrobione! Zapisałeś User = postgres i password = postgres.

Jeśli nie masz hasła dla użytkownika postgres ubuntu do:

$ sudo passwd postgres

 112
Author: Diego,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-24 19:33:07

To było frustrujące, większość powyższych odpowiedzi jest poprawna, ale nie wspominają, że musisz ponownie uruchomić usługę bazy danych przed zmianami w pg_hba.plik conf będzie miał wpływ.

Więc jeśli zrobisz coś takiego jak wyżej

Local all Postgres ident

Następnie restart jako root (na centos jego coś w rodzaju service service postgresql-9.2 restart ) teraz powinieneś mieć dostęp do db jako użytkownik postgres

$psql psql (9.2.4) Wpisz "pomoc", aby uzyskać pomoc.

Postgres= #

Hope this adds info for new postgres users

 30
Author: Miguel Pereira,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-05 18:17:40

Edytuj pg_hba.plik conf, np. z sudo emacs /etc/postgresql/9.3/main/pg_hba.conf

Zmień wszystkie metody uwierzytelniania na trust. Zmień hasło uniksowe dla użytkownika "postgres". Restart Serwera. Zaloguj się za pomocą psql -h localhost -U postgres i użyj just set Unix password. Jeśli to zadziała, możesz ponownie ustawić pg_hba.plik conf do wartości domyślnych.

 12
Author: nottinhill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-10 15:43:43

Jeśli próbujesz zalogować się do powłoki postgres jako użytkownik postgres, możesz użyć następujących poleceń.

Przełącz na użytkownika postgres

# su - postgres

Zaloguj się do psql

# psql

Hope that helps

 10
Author: geekgugi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-16 13:32:11

Spróbuj nie używać parametru-W i pozostaw hasło puste. Czasami użytkownik jest tworzony bez hasła.

Jeśli to nie zadziała zresetuj hasło. Można to zrobić na kilka sposobów, ale działa to na wielu systemach:

$ su root
$ su postgres
$ psql -h localhost
> ALTER USER postgres with password 'YourNewPassword';
 8
Author: Francisco Puga,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-08 10:03:43

Zgodnie z zasadą: nigdy nie należy ustawiać hasła dla użytkownika POSTGRES .

Jeśli potrzebujesz dostępu do superużytkownika z pgAdmin, Utwórz innego superużytkownika. W ten sposób, jeśli poświadczenia tego superużytkownika zostaną naruszone, możesz zawsze ssh do rzeczywistego hosta bazy danych i ręcznie usunąć superużytkownika za pomocą

sudo -u postgres -c "DROP ROLE superuser;"
 3
Author: ardilgulez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-20 10:27:51

Chciałem tylko dodać, że należy również sprawdzić, czy hasło wygasło.

Więcej informacji można znaleźć w artykule Postgres password authentication failed.
 0
Author: Jörg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:34:37

Oto kilka kombinacji, które próbowałem się zalogować:

# login via user foo
psql -Ufoo -h localhost

sudo -u postgres psql postgres

# user foo login to postgres db
psql -Ufoo -h localhost -d postgres
 0
Author: tokhi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-10 10:16:24

Miałem podobny problem. Ubuntu zostało mi zalogować się w konsoli z dowolnego hasła dla superuser. Poza tym, że połączyłem się z-h localhost w Komendzie liniowej psql.

Zauważyłem też, że "localhost:8080/MyJSPSiteLogIn" - showed: Fatal: błąd autentication z użytkownikiem "user".

Pg_hba.conf było ok.

Zauważyłem, że dwie wersje postgres działają w tej samej usłudze.

Solved-odinstalowanie wersji inutil.

 0
Author: David Uvm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-30 19:51:54

Dla tych, którzy używają go po raz pierwszy i nie mają informacji o tym, jakie jest hasło, mogą wykonać poniższe kroki(zakładając, że jesteś na ubuntu):

  1. Otwórz plik pg_hba.conf in /etc/postgresql/9.x/main

     sudo vi pg_hba.conf 
    

    2.edytuj poniższy wiersz

     local   all             postgres                                peer
    

    Do

     local   all             postgres                                trust
    
  2. Restart serwera

      sudo service postgresql restart
    
  3. Na koniec możesz się zalogować bez potrzeby podawania hasła, jak pokazano na rysunkuNa koniec możesz się zalogować bez potrzeby podawania hasła, jak pokazano na rysunku

Ref tutaj więcej informacji

 0
Author: Jose Kj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-16 08:21:19

Mam nadzieję, że to pomoże Ci szybko. Możesz zmienić hasło postgres sql za pomocą polecenia poniżej.

Polecenie

Sudo-u postgres psql

A następnie możesz zaktualizować hasło

Polecenie

Zmień hasło użytkownika postgres 'YOUR_NEW_PASSWORD';

 -1
Author: Sonu patel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-02 10:58:46