Kako instalirati PostgreSQL bazu podataka u Debian 10


PostgreSQL (ponekad se naziva Postgres) je najnapredniji open-source sistem baze podataka opće namjene i objektno-relacijski s dokazanom arhitekturom koja radi na svim glavnim operativnim sistemima. To je sistem baze podataka visokih performansi, stabilan, skalabilan i proširiv koji pruža neverovatan integritet podataka i podržava moćne dodatke.

Ono što je važno, PostgreSQL vam omogućava da definirate vlastite tipove podataka, dodate prilagođene funkcije, čak i pišete kod iz različitih programskih jezika kao što su C/C++, Java, itd, bez ponovnog kompajliranja vaše baze podataka.

PostgreSQL koriste poznate tehnološke kompanije kao što su Apple, Fujitsu, Red Hat, Cisco, Juniper Network, itd.

U ovom članku ćemo vam pokazati kako instalirati, osigurati i konfigurirati PostgreSQL poslužitelj baza podataka u Debianu 10.

Zahtjev:

  1. Instalirajte Debian 10 (Buster) Minimal Server

Instalacija PostgreSQL servera na Debian 10

Da instalirate PostgreSQL server baze podataka, koristite podrazumevani APT menadžer paketa, koji će instalirati PostgreSQL 11 server i klijenta.

apt install postgresql-11 postgresql-client-11

Na Debianu, kao i na svim drugim demonima, Postgres baza podataka se inicijalizira odmah nakon završetka instalacije paketa kao što je prikazano na sljedećoj snimci ekrana.

Da biste provjerili da li je Postgres baza podataka zaista inicijalizirana, možete koristiti pg_isready uslužni program koji provjerava status veze na PostgreSQL serveru, kako slijedi.

pg_isready 

Osim toga, pod systemd, usluga Postgres se također automatski pokreće i omogućava pokretanje pri pokretanju sistema. Da biste bili sigurni da je usluga dobro pokrenuta i radi, pokrenite sljedeću naredbu.

systemctl status postgresql

Slijede druge korisne systemctl komande za upravljanje Postgres servisom pod systemd.

systemctl start postgresql
systemctl restart postgresql
systemctl stop postgresql
systemctl reload postgresql 		#this reloads the service configuration

Osiguravanje i konfiguriranje PostgreSQL baze podataka

Podrazumevano, Postgres koristi koncept uloga za upravljanje dozvolama za pristup bazi podataka i uloge baze podataka su konceptualno potpuno odvojene od korisnika operativnog sistema. Uloga može biti korisnik ili grupa, a uloga koja ima pravo na prijavu naziva se korisnik.

Svježe inicijalizirani sistem uvijek sadrži jednu unaprijed definiranu ulogu zvanu postgres, ima isto ime kao korisnički račun operativnog sistema pod nazivom postgres, koji se koristi za pristup psql-u (Postgres shell) i drugi programi baze podataka.

Korisnički nalog Postgres sistema nije zaštićen lozinkom, da biste ga zaštitili, možete kreirati lozinku koristeći passwd uslužni program.

passwd postgres

Također, uloga Postgres (ili korisnik administrativne baze podataka ako želite) nije osigurana po defaultu. Također ga morate osigurati lozinkom. Sada se prebacite na postgres sistemski korisnički račun i ulogu postgres (ne zaboravite postaviti jaku i sigurnu lozinku) kao što je prikazano.

su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'securepass_here';"

Zatim izađite iz postgres naloga da nastavite s vodičem.

Konfiguriranje provjere autentičnosti klijenta

Glavna Postgres konfiguracijska datoteka nalazi se na /etc/postgresql/11/main/postgresql.conf. Pored ovog fajla, Postgres koristi još dva ručno uređena konfiguraciona fajla, koji kontrolišu autentifikaciju klijenta.

Provjeru autentičnosti klijenta kontrolira /etc/postgresql/11/main/pg_hba.conf konfiguracijski fajl. Postgres pruža mnogo različitih metoda provjere autentičnosti klijenta uključujući autentifikaciju zasnovanu na lozinki. Klijentske veze se provjeravaju na osnovu adrese hosta klijenta, baze podataka i korisnika.

Ako odlučite koristiti autentifikaciju zasnovanu na lozinki, možete implementirati jednu od ovih metoda: md5 ili password koje rade na sličan način osim načina na koji se lozinka prenosi preko veze , odnosno MD5-heširani i čisti tekst.

Korištenje md5 autentikacije lozinkom sprječava hakersko njušenje lozinki i izbjegava pohranjivanje lozinki na serveru u obliku običnog teksta. Metoda lozinke može se bezbedno koristiti samo ako je veza zaštićena SSL enkripcijom.

Za ovaj vodič, pokazat ćemo kako konfigurirati md5 autentifikaciju lozinkom za autentifikaciju klijenta.

vim /etc/postgresql/11/main/pg_hba.conf 

Potražite sljedeći red i promijenite metodu provjere autentičnosti u md5 kao što je prikazano na snimku ekrana.

local   all             all                                     md5

Sačuvajte promene u datoteci i izađite iz nje. Zatim primijenite nedavne promjene ponovnim pokretanjem usluge Postgres na sljedeći način.

systemctl restart postgresql

Kreiranje nove baze podataka i uloge/korisnika baze podataka u PostgreSQL-u

U ovom posljednjem odjeljku ćemo pokazati kako kreirati novog korisnika baze podataka i ulogu baze podataka za upravljanje njome. Prvo se prebacite na postgres račun i otvorite Postgres shell na sljedeći način.

su - postgres
psql

Za kreiranje baze podataka pod nazivom “test_db ” pokrenite sljedeću SQL naredbu.

postgres=# CREATE DATABASE test_db;

Zatim kreirajte korisnika baze podataka (uloga s pravima prijave) koji će upravljati novom bazom podataka na sljedeći način.

postgres=#CREATE USER test_user PASSWORD ‘securep@ss_here’;     #assumes login function by default

Da se povežete na test_db kao korisnik test_user, pokrenite sljedeću naredbu.

 
psql -d  test_db  -U test_user

Za više informacija pogledajte dokumentaciju za PostgreSQL 11.

Zaključak

To je ako za sada! U ovom vodiču pokazali smo kako instalirati, osigurati i konfigurirati PostgreSQL poslužitelj baza podataka u Debianu 10. Imate li pitanja ili razmišljanja za podijeliti? Koristite formu za komentare ispod da nas kontaktirate.