psql user "root" doesn't exist
Oglądasz archiwalną wersję tematu "psql user "root" doesn't exist" z forum pl.comp.bazy-danych
R
witam grupowiczow.

Mam problem.

W dokumentacji PostgreSQL pisze, ze domyslnie uzytkownicy psql sa uzytkownikami
systemowymi

np.: mam dwa konta jedno rootowskie i drugie zwykle.

Jesli proboje storzeyc nowa baze danych

createdb nazwa


dostaje info, ze np.: root albo rob(jak sie przelacze na tego usera) nie
istnieja w systemie, a oczywiscie istnieja!

tak samo jak proboje wyswietlic dostepne bazy

psql -l


dostaje ten sam komunikat, ze dany uzytkownik nie istniej, np.: root lub rob

mam PSQL 7.3 na RH 9.1
konfiguracja jest domyslana, nic nie zmienialem w konfigu

btw: czy postgresql tworzy jakies bazy zaraz po instalacji, tak jak mysql
tworzy od razu: mysql oraz test?

z gory wlk dzieki
pzdr R

Paweł Matejski

witam grupowiczow.

Mam problem.

W dokumentacji PostgreSQL pisze, ze domyslnie uzytkownicy psql sa uzytkownikami
systemowymi


Po instalacji jest tylko użytkownik postgres. Psql domuślnie loguje się na użytkownika
ktoego nazwa jest taka sama jak tego z którego uruchamiasz psql - domyslnie, czyli jak
nie podasz -U nazwa_uzytkownika .

R

Po instalacji jest tylko użytkownik postgres. Psql domuślnie loguje się na
użytkownika
ktoego nazwa jest taka sama jak tego z którego uruchamiasz psql - domyslnie,
czyli jak
nie podasz -U nazwa_uzytkownika .


no wlasnie i tak robie - z opcja U, wbrew pozorom przeczytalem man'a ;D

chodzi o to, ze ja w ogole nawet logujac sie jako root nie moge dodac ZADNEJ
bazy ani tez odpalic psql - zawsze dostaje blad, ze uzytkownik "root" lub
np.: "rob" nie istnieja

...

nie wiem co mam robic, u kumpli tez na RH 9.1 chodzi bez problemow, tylko ja
mam jakies bardzo dziwne sytuacje

ale jesli ktos wie, bede wdzieczny za pomoc

pzdr R

Pawel from O.

 niezbyt dawno, a tak naprawdę przed chwilą, przeczytałem:

...
no wlasnie i tak robie - z opcja U, wbrew pozorom przeczytalem man'a ;D

chodzi o to, ze ja w ogole nawet logujac sie jako root nie moge dodac ZADNEJ
bazy ani tez odpalic psql - zawsze dostaje blad, ze uzytkownik "root" lub
np.: "rob" nie istnieja

...

nie wiem co mam robic, u kumpli tez na RH 9.1 chodzi bez problemow, tylko ja
mam jakies bardzo dziwne sytuacje

ale jesli ktos wie, bede wdzieczny za pomoc

pzdr R


Witam !
Zaloguj się na root'a, potem: "su postgres" potem przejdź do katalogu
bin od postgresa, u mnie to /usr/lib/postgresql/bin, i pobaw się
plikiem createuser z tego katalogu ...

Pozdrawiam !                            Paweł

Adam Buraczewski

no wlasnie i tak robie - z opcja U, wbrew pozorom przeczytalem man'a ;D


Niby tak, ale nie zrozumiałeś do końca wypowiedzi przedpiścy i tego co
jest w tutorialu/dokumentacji.

Chodzi o to, że konta bazodanowe w Postgresie i konta użytkowników w
Linuksie to dwie różne rzeczy.  Przy instalacji Postgresa jest
tworzone jest jedno konto bazodanowe, zwykle o nazwie postgres albo
pgsql (nazwa nie jest jakkolwiek ujednolicona, zależy tylko od
widzimisię tego co wykonywał initdb, czyli zwykle administratora).
Nie są jeszcze wówczas tworzone konta dla innych użytkowników systemu,
musisz to dopiero zrobić korzystając z tego pierwszego konta.  Nawet
root nie ma tam konta, nie może zatem korzystać z baz danych.  Czyli
po świeżej instalacji musisz wykonać:

        createuser -U postgres rob
        createuser -U postgres kto_inny
        ...

To co podajesz w opcji -U to konto użytkownika, który już jest
rozpoznawany przez Postgresa i który ma prawo tworzenia nowych kont
użytkowników, czyli postgres, psql, czy co tam sobie administrator
wymyślił.  Jako drugi parametr musisz podać konto które ma być
utworzone.  Potem createuser zapyta Cię o uprawnienia dla tych nowych
kont.  Jeżeli odpowiesz, że nowy użytkownik będzie mógł tworzyć
dalszych użytkowników, to dajesz mu prawa superużytkownika i taki ktoś
będzie mógł zrobić z Postgresem prawie wszystko, więc lepiej z tym
uważaj.

Acha, root nie jest przy tym traktowany jakoś specjalnie, to dla
Postgresa taki sam użytkownik jak każdy inny :)  I jeżeli nie ma
założonego konta, to Postgres nie dopuści go do żadnej bazy.

Jak już założysz konta, to możesz je podawać w parametrze -U do
różnych komend Postgresa, np. żeby założyć bazę użytkownikowi "rob"
robisz:

        createdb -U rob baza_roba

i potem się do tej bazy łączysz:

        psql -U rob -d baza_roba

Jeżeli to co podajesz w opcji -U jest zgodne z nazwą konta
linuksowego, na którym aktualnie pracujesz, to opcję -U możesz
opuścić.  Podobnie, gdy nazwa bazy danych jest taka sama jak nazwa
konta to możesz jej nie podawać (nie dotyczy to polecenia dropdb).
Czyli jak napiszesz:

        psql

bez żadnych opcji, jako linuksowy użytkownik "rob", to oznacza że
chcesz się podłączyć do bazy danych o nazwie "rob" jako bazodanowy
użytkownik "rob".  Jeżeli wykonałeś wcześniej poleceń createuser, żeby
stworzyć takiego użytkownika bazodanowego i createdb żeby stworzyć dla
niego bazę o nazwie "rob", to nic dziwnego że nie mogłeś niczego
zdziałać.

nie wiem co mam robic, u kumpli tez na RH 9.1 chodzi bez problemow, tylko ja
mam jakies bardzo dziwne sytuacje


Nie są to dziwne sytuacje, tylko jeszcze brak Ci doświadczenia z tym
systemem.  Wszystkie te perypetie są opisane w tutorialu, jakbyś go
dokładniej przeczytał, to nie miałbyś pewnie takich niespodzianek.
Ale nie zrażaj się, chętnie pomożemy Ci tu przejść przez te początkowe
bolączki. :)

Naucz się też przytaczać precyzyjnie komunikaty błędów, łatwiej będzie
diagnozować problemy z którymi się spotykasz.

Pozdrawiam!

hubert depesz lubaczewski
R wyrzeźbił(a):

W dokumentacji PostgreSQL pisze, ze domyslnie uzytkownicy psql sa uzytkownikami
systemowymi


w której dokumentacji. proszę o plik i numer akapitu.

a odpowiedź na twój problem jest w faq.

depesz

R

 Â       createuser -U postgres rob
 Â       createuser -U postgres kto_inny


najpierw zrobilem
su postgres

potem odpalilem:
createuser -U postgres rob // z mozliwoscia tylko tworzenia nowych baz
oraz
createuser -U postgres admin //mozliwosc tworzenia takze nowych userow

potem wrocilem do mojego shella roota

proboje sie laczyc psql:
psql -U rob 2bledy.txt

nie lacze sie, w pliku bledy.txt mam:
psql: FATAL:  IDENT authentication failed for user "rob"

no to jak dzialalo mi z postgresem to lacze sie na postgresa, robie tak:
psql -U postgres -d postgres 2bledy_p.txt

znowu to samo, teraz w bledy_p.txt mam:
psql: FATAL:  IDENT authentication failed for user "postgres"

robie ponownie
su postgres

przypdaku takie same wystarczy po prostu:
psql

ok polaczylem sie i jest OK.

robie \l i mam:
postgres=# \l
        List of databases
   Name    |  Owner   | Encoding
-----------+----------+-----------
 postgres  | postgres | SQL_ASCII
 template0 | postgres | SQL_ASCII
 template1 | postgres | SQL_ASCII
(3 rows)

moge tez sprawdzic czy faktycznie wczesnie dodalem moich userow i faktycznie sa:

postgres=# \du
              List of database users
 User name | User ID |         Attributes
-----------+---------+----------------------------
 admin     |     101 | superuser, create database
 postgres  |       1 | superuser, create database
 rob       |     100 | create database
(3 rows)

dlaczego wtedy nie moge sie zalogowac do zadnego z kont?
moge logowac sie tylko na postgresa i tylko jak wczesniej zrobie:
su postgres?

z gory wlk dzieki za wyjasnienia
pzdr R

Adam Buraczewski

proboje sie laczyc psql:
psql -U rob 2bledy.txt

nie lacze sie, w pliku bledy.txt mam:
psql: FATAL:  IDENT authentication failed for user "rob"
[...]
dlaczego wtedy nie moge sie zalogowac do zadnego z kont?
moge logowac sie tylko na postgresa i tylko jak wczesniej zrobie:
su postgres?


O, teraz przytoczyłeś komunikat i nagle wszystko stało się jasne. :)

Wygląda na to, że wszystko robisz dobrze -- wydajesz prawidłowe
polecenia, tylko że w twojej instalacji Postgresa ktoś (pewnie tak
było w dystrybucji Linuksa) ustawił tak prawa w pliku pg_hba.conf, że
do bazy danych o nazwie "X" może dostać się tylko użytkownik "X" z
konta linuksowego "X".  Problem usuniesz znajdując plik pg_hba.conf,
edytując go i restartując po tym Postgresa.

Musisz w tym pliku znaleźć linijki typu (może być ich więcej):

        host all sameuser 127.0.0.1 255.255.255.255 ident
        local all sameuser ident

(generalnie, wszystkie linijki z ident na końcu i sameuser w środku) i
zamienić w nich "ident" na "md5" oraz "sameuser" na "all".  Jeżeli
komputer nie jest podłączony do sieci i jesteś jego jedynym
użytkownikiem, to możesz "ident" zamienić na "trust" zamiast na "md5",
wówczas Postgres nie będzie żądał hasła od użytkowników.  W efekcie
powinieneś uzyskać wpisy typu:

        host all all 127.0.0.1 255.255.255.255 md5
        local all all md5

i to powinny być jedyne wpisy w tym pliku (poza komentarzami,
oczywiście).

Teraz wyjaśnienie: plik pg_hba.conf służy do ustawiania jak
poszczególni użytkownicy mają być autoryzowani (czy mogą skorzystać z
danej bazy).  Wpis "sameuser" oznacza, że do bazy "X" może dostać się
tylko użytkownik "X" -- jak go zamienisz na "all" to każdy będzie mógł
się dostać z dowolnego konta do dowolnej bazy.  Na końcu każdej
linijki w tym pliku jest podany sposób sprawdzania hasła: wpis "md5"
oznacza że hasło jest sprawdzane, wpis "trust" oznacza że hasło nie
jest sprawdzane, natomiast "ident" (to co jest u Ciebie) oznacza że
hasła nie są co prawda sprawdzane, ale użytkownik bazodanowy "X" może
logować się tylko z konta linuksowego "X".

Jakbyś instalował PostgreSQLa ze źródeł, a nie z paczki RPM, to pewnie
nie miałbyś tego problemu, bo domyślna zawartość pg_hba.conf jest
mniej restrykcyjna.  Dopiero w różnych dystrybucjach Linuksa
przygotowują bardziej bezpieczne wersje tego pliku.

Poczytaj sobie jeszcze rozdział dokumentacji "Chapter 19. Client
Authentication", powinien rozwiać do końca twoje wątpliwości.

Pozdrawiam!

Access '95 -> Access2.0 ???
Wydajność server'a MS SQL SERVER
[hibernate] Nieoptymalna współpraca hibernate'a z postgresem.
Odp: Recommendation # 003 for Monday GPW trade session - strong sell off, don't wait
FUTRA'M1 wyniki z dzis i podsumowanie calego konkursu
brak pamieci na zmienne przy uruchamianiu FOX'a dosowego
Dostep do okna bazy w Acc'97? Jeszcze raz
obozy za granicą
pulpity i menu start na windows xp download
Wewnątrzszkolny regulamin oceniania
założyciela Opus Dei
Windows Serwer 2003 PL
Kod do Windows Xp Home Edition
offtopic: jak rozmawiać z użytkownikiem Windows o Linuxie?
Windows Me, niepotrzebne logowanie ?
dokumente aus xp sind in windows 7 schreibgeschützt
microsoft office 2007 de torrent
microsoft office word download deutsch
nach start windows monitor dunkel
Zestawienie wypowiedzi z for dyskusyjnych • Index