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!