петак, октобар 23, 2015

PostgreSQL

U nastavku podešavanja našeg razvojnog okruženja, da vidimo kako se instalira i podešava PostgreSQL sistem za upravljanje bazama podataka. Najpre ćemo ga instalirati komandom
pacman -S postgresql
Zatim ćemo pomoću komande
passwd postgres
da postavimo lozinku za korisnika postgres. Sada sa
su - postgres 
prelazimo u ulogu korisnika postgres i inicijalizujemo klaster baza podataka:
 initdb --locale en_GB.UTF-8 -E UTF8 -D '/var/lib/postgres/data'
Baze podataka će fizički biti smeštane u direktorijum /var/lib/postgres što je podrazumevana lokacija. Ova lokacija se nalazi na root particiji, a kako je korena particija po pravilu uvek premala da na sebi drži i projekte u /srv/http direktorijumu, i baze i logove i sve ostalo za šta nikad ne znamo unapred da će nam zatrebati, ja taj postgres direktorijum premestim na home particiju a u /var/lib napravim simbolički link ka njemu. Samo je potrebno voditi računa da je vlasnik postgres direktorijuma korisnik postgres i da ostalim korisnicima treba zabraniti pristup.



Sada možemo da pokrenemo servis sa
systemctl start postgres.service
Klasično
systemctl status postgresql.service
prikazuje status servisa, a da bismo ga naterali da se pokrene svaki put kada se računar startuje, otkucaćemo
 systemctl enable postgresql.service
Idemo da kreiramo našu prvu bazu. Kucamo
psql -U postgres
i trebalo bi da kao korisnik postgres i bez lozinke uđemo u šel. Sada iz SQL-a možemo da kreiramo i bazu i korisnika i da dodelimo prava korisniku nad tom bazom:
create database test; create user test with password 'lozinka'; grant all privileges on database test to test;
Možemo sa Ctrl+D da izađemo iz šela i da pokušamo da se ulogujemo na bazu kao korisnik test:
psql -U test
pri čemu će psql da nas pita za lozinku korisnika test. Ako ne želimo svaki put da kucamo lozinku, u svoj home direktorijum ćemo kreirati fajl ~/.pgpass u koji ćemo upisati lozinke za sve naše baze u formatu:
localhost:*:baza:korisnik:lozinka
Za prikaz raspoloživih baza koristićemo komandu \l. Ako želimo da dampujemo bazu u fajl, možemo da koristimo program pg_dump:
pg_dump -h 192.168.1.100 -U test -f ./test.dump
a da bismo taj damp posle ubacili u bazu, kucaćemo
psql -U test -f ~/test.dump
Da bismo naterali PHP i PostgreSQL da sarađuju, potrebno je da instaliramo paket php-pgsql i da u datoteci php.ini odtarabimo linije extension=pdo_pgsql.so i extension=pgsql.so. Nakon toga je neophodan restart Apača.

Нема коментара:

Постави коментар