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

Re: Podstawy PostgreSQL 8



Dnia sobota, 8 grudnia 2007 01:25, Jarek Buczyński napisał:

> 1. Root bazy (owner)
>
> W MySQL rootem jest login root (siedzi w bazie MySQL), jak jest w
> PostgreSQL, kto jest rootem?
>
Z konta root (systemowego) wydajesz polecenie
createuser <nazwa_użytkownika>
Shall the new user be allowed to create databases? (y/n)y
Shall the new user be allowed to create more new users? (y/n)y
Password: 
i już masz administratora baz
>
> 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?
>
>
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"

inne opcje to :
- trust - z bazą danych łączy się użytkownik godny zaufania (z konta 
systemowego użytkownika wpisujesz psql nazwa_bazy bez hasła)
- password musisz podać hasło aby się połączyć z bazą (przydatne jeśli chcesz 
używać php aby się łączyć z bazą)
-crypt to samo co password ale hasło będzie przesyłane w formie zaszyfrowanej
-reject odrzucanie połączeń do tej bazy danych

dodatkowo do host i hostssl można użyć :
ident
krb4
krb5
Plik ma postać :
local	all							trust
host	all	127.0.0.1	255.255.255.255	trust 

local - gniazdo unixowe 
host - połączenie po TCP/IP
all wszystkie bazy danych lub konkretna nazwa bazy

> 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.

Pozdrawiam 

-- 
Sebastian Domanski         Klucz PGP można wyszukać i pobrać z 
http://stinkfoot.org:11371/

Attachment: pgp2Ug0_nnW8w.pgp
Description: PGP signature


Reply to: