[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Podstawy PostgreSQL 8



On Sat, 8 Dec 2007, sdoman1@interia.pl wrote:

> >
> > 2. Logowanie
> >
> > MySQL:
> > mysql -u root -p
> >
> > PostgreSQL:
> > Do tej pory robiłem tak, że "su" na użytkownika systemowego postgres i
> > wtedy "psql", bo jak robiłem tak:
> >
> > # psql -U postgres -W
> > Password for user postgres:
> > psql: FATAL:  Ident authentication failed for user "postgres"
> >
> > pomimo dobrego hasła, o co chodzi?
> >

Może: psql -U postgres -h localhost <baza>

> >
> Musisz odpowiednio edytować plik pg_hba.conf
> Z tego co widzę na lokalne połączenia masz wybraną opcję identyfikacji 
> użytkowników z wykorzystaniem  serwera ident. "Ident authentication failed"
> 

Z tą róznicą, że to ident w wypadku połączeń po unix socket oznacza
tylko porównywanie nazw użytkownika (z ewentualnymi mapowaniami) i nie wymaga 
serwera ident.

> > 3.Prawa
> >
> > MySQL:
> > grant all on db_name.* to admin_bazy identified by 'haselo';
> >
> > i już mam roota bazy, co w większości przypadków mi wystarcza, przy
> > czym automatycznie tworzony jest użytkownik z takim hasłem, jak można
> > uzyskać to samo pod PostgreSQL, czyli stworzyć bazę i stworzyć roota
> > dla tej bazy?
> >
> > --
> Bazę tworzysz albo z konta systemowego :
>  createdb -U nazwa_uzytkownika nazwa_bazy
> Password: 
> CREATE DATABASE
> lub 
> psql template1
> CREATE DATABASE nazwa
> 
> Domyślnie tylko właściciel bazy danych ma dostęp do tabel bazy danych.
> Dla reszty użytkowników musisz użyć polecenia GRANT.
> 

W nowych wersjach postgresa (niestety chyba poetchowych) można nadać
uprawnienie do connecta do samej bazy - dużo wygodniejsze jest to niż
grzebanie po tabelkach. BTW. przy domyślnych ustawieniach każdy
uzytkownik może tworzyć tabele w każdej bazie do której może się
podłączyć a domyślna zawartość pg_hba.conf pozwala łączyć się po
localhost każdemu użytkownikowi do każdej bazy.


Pozdrawiam.

-- 
Liwiusz Ociepa




Reply to: