Kako namestiti bazo podatkov PostgreSQL v Debian 10


PostgreSQL (včasih imenovan tudi Postgres) je najnaprednejši odprtokodni sistem splošnih in objektno-relacijskih zbirk podatkov z dokazano arhitekturo, ki deluje v vseh glavnih operacijskih sistemih. Je visoko zmogljiv, stabilen, razširljiv in razširljiv sistem zbirke podatkov, ki zagotavlja neverjetno integriteto podatkov in podpira zmogljive dodatke.

Pomembno je, da vam PostgreSQL omogoča določanje lastnih podatkovnih vrst, dodajanje funkcij po meri, celo pisanje kode iz različnih programskih jezikov, kot so C/C ++, Java itd., Brez ponovnega sestavljanja baze podatkov.

PostgreSQL uporabljajo znana tehnološka podjetja, kot so Apple, Fujitsu, Red Hat, Cisco, Juniper Network itd.

V tem članku vam bomo pokazali, kako namestiti, zaščititi in konfigurirati strežnik baz podatkov PostgreSQL v Debianu 10.

  1. Namestite strežnik Debian 10 (Buster) Minimal

Namestitev strežnika PostgreSQL na Debian 10

Če želite namestiti strežnik baz podatkov PostgreSQL, uporabite privzeti upravitelj paketov APT, ki bo namestil strežnik in odjemalca PostgreSQL 11.

# apt install postgresql-11 postgresql-client-11

V Debianu se kot pri vseh drugih demonih baza podatkov Postgres inicializira takoj po končani namestitvi paketa, kot je prikazano na naslednjem posnetku zaslona.

Če želite preveriti, ali je baza podatkov Postgres resnično inicializirana, lahko uporabite pripomoček pg_isready, ki preverja stanje povezave strežnika PostgreSQL, kot sledi.

# pg_isready 

Poleg tega se pod sistemom storitev Postgres samodejno zažene in omogoči zagon ob zagonu sistema. Za zagotovitev, da storitev deluje in deluje dobro, zaženite naslednji ukaz.

# systemctl status postgresql

Sledijo drugi koristni ukazi systemctl za upravljanje storitve Postgres pod systemd.

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

Zavarovanje in konfiguriranje zbirke podatkov PostgreSQL

Postgres privzeto uporablja koncept vlog za upravljanje dovoljenj za dostop do baze podatkov, vloge baze podatkov pa so konceptualno popolnoma ločene od uporabnikov operacijskega sistema. Vloga je lahko uporabnik ali skupina, vloga, ki ima pravico do prijave, pa se imenuje uporabnik.

Sveže inicializiran sistem vedno vsebuje eno vnaprej določeno vlogo, imenovano postgres, ima isto ime kot uporabniški račun operacijskega sistema, imenovan postgres, ki se uporablja za dostop do psql (lupine Postgres) in drugih programov zbirke podatkov.

Uporabniški račun sistema Postgres ni zaščiten z geslom, za njegovo zaščito lahko ustvarite geslo s pomočjo pripomočka passwd.

# passwd postgres

Prav tako vloga Postgres (ali uporabnika skrbniške baze podatkov, če želite) ni privzeto zaščitena. Prav tako ga morate zavarovati z geslom. Zdaj preklopite na uporabniški račun sistema postgres in vlogo postgres (ne pozabite nastaviti močnega in varnega gesla), kot je prikazano.

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

Nato zapustite račun postgres, da nadaljujete z vodnikom.

Konfiguriranje overjanja odjemalca

Glavna konfiguracijska datoteka Postgres se nahaja na /etc/postgresql/11/main/postgresql.conf. Postgres poleg te datoteke uporablja še dve ročno urejeni konfiguracijski datoteki, ki nadzorujeta preverjanje pristnosti odjemalca.

Preverjanje pristnosti odjemalca nadzoruje konfiguracijska datoteka /etc/postgresql/11/main/pg_hba.conf. Postgres ponuja veliko različnih načinov preverjanja pristnosti odjemalca, vključno z overjanjem na podlagi gesla. Odjemalske povezave so preverjene na podlagi naslova gostiteljskega odjemalca, baze podatkov in uporabnika.

Če se odločite za preverjanje pristnosti na podlagi gesla, lahko uporabite enega od teh načinov: md5 ali geslo, ki delujeta podobno, razen načina prenosa gesla prek povezave, in sicer MD5-zgoščenega oziroma jasnega besedila.

Uporaba preverjanja pristnosti gesla md5 preprečuje vdihavanje gesel s strani hekerjev in preprečuje shranjevanje gesel na strežniku v navadnem besedilu. Način gesla lahko varno uporabljate le, če je povezava zaščitena s šifriranjem SSL.

V tem priročniku bomo prikazali, kako konfigurirati preverjanje pristnosti gesla md5 za preverjanje pristnosti odjemalca.

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

Poiščite naslednjo vrstico in spremenite način preverjanja pristnosti na md5 , kot je prikazano na posnetku zaslona.

local   all             all                                     md5

Spremembe shranite v datoteko in jo zapustite. Nato uporabite nedavne spremembe tako, da znova zaženete storitev Postgres, kot sledi.

# systemctl restart postgresql

Ustvarjanje nove baze podatkov in vloge/uporabnika baze podatkov v PostgreSQL

V tem zadnjem razdelku bomo prikazali, kako ustvariti novega uporabnika baze podatkov in vlogo baze podatkov za njegovo upravljanje. Najprej preklopite na račun postgres in odprite lupino Postgres, kot sledi.

# su - postgres
$ psql

Če želite ustvariti bazo podatkov z imenom\"test_db", zaženite naslednji ukaz SQL.

postgres=# CREATE DATABASE test_db;

Nato ustvarite uporabnika baze podatkov (vlogo s pravicami za prijavo), ki bo upravljal novo bazo podatkov na naslednji način.

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

Če se želite povezati s test_db kot uporabnik test_user, zaženite naslednji ukaz.

 
$ psql -d  test_db  -U test_user

Za več informacij glejte dokumentacijo PostgreSQL 11.

To je za zdaj! V tem priročniku smo pokazali, kako namestiti, zaščititi in konfigurirati strežnik baz podatkov PostgreSQL v Debianu 10. Ali imate kakšno vprašanje ali misli, ki jih želite deliti? Uporabite spodnji obrazec za komentar, da nas kontaktirate.