Utworzenie bazy danych, użytkownika i nadanie dostępu w PostgreSQL oraz logowanie

Jeżeli chcemy rozpocząć pracę z bazami danych, musimy początkowo wykonać kilka kroków by móc z niej korzystać.

Nejpierw logujemy się jako postgres:

sudo -i -u postgres

gdzie i- to logowanie, a u znaczy nazwę użytkownika.
Następnie logujemy się do bazy PostgreSQL:
psql

Teraz tworzymy bazę danych:
CREATE DATABASE <nazwa_bazy_danych>;

Potem tworzymy użytkownika z hasłem:
CREATE USER <nazwa_uzytkownika> WITH ENCRYPTED PASSWORD ‘<moje_haslo>’;

I przydzielamy uprawnienia:
GRANT ALL PRIVILEGES ON DATABASE <nazwa_bazy_danych> to <nazwa_uzytkownika>;

 

Logujemy się następująco:

psql -U <nazwa_uzytkownika> -d <nazwa_bazy_danych>

Może nam wówczas wyskoczyć taki błąd:
psql: error: connection to server on socket “/var/run/postgresql/.s.PGSQL.5432” failed: FATAL: Peer authentication failed for user “<nazwa_uzytkownika>”

Musimy wtedy zlokalizować plik konfiguracyjny pg_hba.conf:
locate pg_hba.conf

Edytujemy dowolnym edytorem:
sudo gedit <znaleziona_lokalizacja>

Następującą linię:
local   <nazwa_bazy_danych>   <nazwa_uzytkownika>   peer

Zamieniamy na:
local   <nazwa_bazy_danych>   <nazwa_uzytkownika>   md5

Jeżeli nie ma, to dopisujemy. Pamiętamy o stosowaniu tabulacji, zamiast spacji pomiędzy wyrazami.
Po zapisaniu zmian, trzeba jeszcze zrestartować system:
sudo service postgresql restart

I teraz powinna się pojawić możliwość zalogowania:
psql -U <nazwa_uzytkownika> -d <nazwa_bazy_danych>

Leave a Reply