2015-02-02 41 views
5

Konfiguruję mój PostgreSQL 9.1 w systemie Windows.Błąd PostgreSQL Fatal: rola "nazwa użytkownika" nie istnieje

Nie mogę nic zrobić z PostgreSQL: nie można utworzyćb, nie można utworzyćuser; Wszystkie operacje zwróci komunikat o błędzie

krytyczny: rola korzeń nie istnieje
korzeń to moja nazwa konta, które tworzone podczas instalacji Postgresql

Ale jestem w stanie połączyć się przy użyciu:

username : postgres 

Jak mogę połączyć się z postgres przy użyciu roli root?
Istnieje rozwiązanie wspomniano na platformach Linux za pomocą polecenia su here ale nie mógł wymyślić rozwiązanie dla Windows7

z góry dzięki

+0

Czy skopiować ty moje pytanie powyżej i sprawiają, że nowy ... ? – h9uest

Odpowiedz

20

Jeśli chcesz, aby zalogować się do PostgreSQL przy użyciu nazwy użytkownika root trzeba najpierw utworzyć taki użytkownik.

Najpierw musisz się zalogować jako superużytkownik PostgreSQL. Jest to zazwyczaj postgres (i jest określony podczas instalacji):

psql -U postgres .... 

następnie można tworzyć role i bazy danych:

psql (9.4.0) 
Type "help" for help. 

postgres=# create user root with password 'verysecret'; 
CREATE ROLE 
postgres=# \q 

c:\ 
c:\>psql -U root postgres 
psql (9.4.0) 
Type "help" for help. 

postgres=> 

Zalogowany jako administratora można również nadać użytkownikowi root niezbędne uprawnienia.

Wszystkie parametry dla psqlare documented in the manual.

Tworzenie użytkowników i baz danych są również udokumentowane w podręczniku:

+0

Próbowałem, jak wyjaśniłeś, tj. utworzyć root użytkownika z hasłem "root"; \ q psql -U root: daje błąd: Fatalna baza danych "root" nie istnieje. – Abhishek

+0

@Abhishek: musisz określić, z którą bazą danych chcesz się połączyć (domyślnie psql ma tę samą nazwę bazy danych, co nazwa użytkownika [zgodnie z dokumentacją w podręczniku] (http://www.postgresql.org/docs/current/static /app-psql.html#R2-APP-PSQL-CONNECTING)). Lub musisz utworzyć bazę danych o tej nazwie, jeśli masz jedną bazę danych na użytkownika. Czytanie instrukcji, wszystko tam jest –

+0

Dziękuję, To zadziałało dla mnie – Abhishek