Kako instalirati PostgreSQL bazu podataka u Debian 10


PostgreSQL (ponekad se naziva i Postgres) najnapredniji je sustav baze podataka opće namjene i objektno-relacijske baze podataka s provjerenom arhitekturom koji radi na svim glavnim operativnim sustavima. Riječ je o sustavu baze podataka visokih performansi, stabilnom, skalabilnom i proširivom koji pruža nevjerojatnu cjelovitost podataka i podržava moćne dodatke.

Važno je da vam PostgreSQL omogućuje definiranje vlastitih vrsta podataka, dodavanje prilagođenih funkcija, čak i pisanje koda iz različitih programskih jezika, kao što su C/C ++, Java itd., Bez ponovnog sastavljanja baze podataka.

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

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

  1. Instalirajte Debian 10 (Buster) minimalni poslužitelj

Instaliranje PostgreSQL poslužitelja na Debian 10

Da biste instalirali poslužitelj baze podataka PostgreSQL, upotrijebite zadani APT upravitelj paketa, koji će instalirati PostgreSQL 11 poslužitelj i klijent.

# apt install postgresql-11 postgresql-client-11

Na Debianu, kao i na svim drugim demonima, baza podataka Postgres pokreće se odmah nakon dovršetka instalacije paketa, kao što je prikazano na sljedećem snimku zaslona.

Da biste provjerili je li baza podataka Postgres uistinu inicijalizirana, možete upotrijebiti uslužni program pg_isready koji provjerava status veze postgreSQL poslužitelja, kako slijedi.

# pg_isready 

Osim toga, pod systemd, usluga Postgres također se automatski pokreće i omogućuje pokretanje prilikom pokretanja sustava. Da biste bili sigurni da je usluga ispravno pokrenuta, pokrenite sljedeću naredbu.

# systemctl status postgresql

Slijede druge korisne naredbe systemctl za upravljanje uslugom Postgres 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

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

Svježe inicijalizirani sustav uvijek sadrži jednu unaprijed definiranu ulogu koja se naziva postgres, ima isto ime kao i korisnički račun operativnog sustava nazvan postgres, koji se koristi za pristup psql-u (ljuska Postgres) i drugim programima baza podataka.

Korisnički račun sustava Postgres nije zaštićen lozinkom, da biste je osigurali, lozinku možete stvoriti pomoću uslužnog programa passwd.

# passwd postgres

Također, uloga Postgres (ili korisnika administrativne baze podataka ako želite) nije prema zadanim postavkama osigurana. Također ga morate osigurati lozinkom. Sada se prebacite na korisnički račun postgres 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 zatvorite postgres račun da biste nastavili s vodičem.

Konfiguriranje autentifikacije klijenta

Glavna konfiguracijska datoteka Postgres nalazi se na /etc/postgresql/11/main/postgresql.conf. Pored ove datoteke, Postgres koristi još dvije ručno uređene konfiguracijske datoteke koje kontroliraju provjeru autentičnosti klijenta.

Autentifikaciju klijenta kontrolira konfiguracijska datoteka /etc/postgresql/11/main/pg_hba.conf. Postgres nudi mnogo različitih metoda provjere autentičnosti klijenta, uključujući provjeru autentičnosti na temelju lozinke. Klijentske veze provjeravaju se na temelju adrese klijenta, baze podataka i korisnika.

Ako odlučite koristiti autentifikaciju na temelju lozinke, možete implementirati jednu od ovih metoda: md5 ili lozinku koja djeluje slično, osim načina na koji se lozinka prenosi preko veze, odnosno MD5-raspršeni i čisti tekst.

Korištenje md5 provjere autentičnosti lozinke sprječava njuškanje lozinke od strane hakera i izbjegava spremanje lozinki na poslužitelju u običnom tekstu. Lozinka se može sigurno koristiti samo ako je veza zaštićena SSL enkripcijom.

U ovom ćemo vodiču pokazati kako konfigurirati provjeru autentičnosti lozinke md5 za autentifikaciju klijenta.

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

Potražite sljedeći redak i promijenite način provjere autentičnosti u md5 kao što je prikazano na snimci zaslona.

local   all             all                                     md5

Spremite promjene u datoteku i zatvorite je. Zatim primijenite nedavne promjene ponovnim pokretanjem usluge Postgres kako slijedi.

# systemctl restart postgresql

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

U ovom posljednjem odjeljku pokazat ćemo kako stvoriti novog korisnika baze podataka i ulogu baze podataka za upravljanje. Prvo se prebacite na postgres račun i otvorite ljusku Postgres kako slijedi.

# su - postgres
$ psql

Da biste stvorili bazu podataka nazvanu "test_db", pokrenite sljedeću SQL naredbu.

postgres=# CREATE DATABASE test_db;

Zatim stvorite korisnika baze podataka (ulogu s pravima na prijavu) koji će upravljati novom bazom podataka na sljedeći način.

postgres=#CREATE USER test_user PASSWORD ‘[email _here’;     #assumes login function by default

Da biste se povezali s test_db kao korisnik test_user, pokrenite sljedeću naredbu.

 
$ psql -d  test_db  -U test_user

Za više informacija pogledajte dokumentaciju PostgreSQL 11.

To je za sada! U ovom smo vodiču pokazali kako instalirati, osigurati i konfigurirati poslužitelj baza podataka PostgreSQL u Debianu 10. Imate li pitanja ili razmišljanja za dijeljenje? Upotrijebite donji obrazac za komentar da biste nas kontaktirali.