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