Hvernig á að setja upp PostgreSQL gagnagrunn í Debian 10


PostgreSQL (stundum nefnt Postgres) er fullkomnasta opinn uppspretta almenna tilgangs- og hluttengslagagnagrunnskerfið með sannaðan arkitektúr sem keyrir á öllum helstu stýrikerfum. Það er afkastamikið, stöðugt, stigstærð og stækkanlegt gagnagrunnskerfi sem veitir ótrúlega gagnaheilleika og styður öflugar viðbætur.

Mikilvægt er að PostgreSQL gerir þér kleift að skilgreina þínar eigin gagnategundir, bæta við sérsniðnum aðgerðum, jafnvel skrifa kóða frá mismunandi forritunarmálum eins og C/C++, Java, osfrv, án þess að setja saman gagnagrunninn aftur.

PostgreSQL er notað af þekktum tæknifyrirtækjum eins og Apple, Fujitsu, Red Hat, Cisco, Juniper Network o.fl.

Í þessari grein munum við sýna þér hvernig á að setja upp, tryggja og stilla PostgreSQL gagnagrunnsþjón í Debian 10.

  1. Settu upp Debian 10 (Buster) lágmarksþjón

Uppsetning PostgreSQL Server á Debian 10

Til að setja upp PostgreSQL gagnagrunnsþjón, notaðu sjálfgefna APT pakkastjórann, sem mun setja upp PostgreSQL 11 miðlara og biðlara.

# apt install postgresql-11 postgresql-client-11

Á Debian, eins og öðrum púkum, er Postgres gagnagrunnurinn frumstilltur strax eftir að uppsetningu pakkans er lokið eins og sýnt er á eftirfarandi skjámynd.

Til að athuga hvort Postgres gagnagrunnurinn sé raunverulega frumstilltur geturðu notað pg_isready tólið sem athugar tengingarstöðu PostgreSQL netþjóns, eins og hér segir.

# pg_isready 

Að auki, undir systemd, er Postgres þjónustan einnig ræst sjálfkrafa og gert kleift að byrja við ræsingu kerfisins. Til að ganga úr skugga um að þjónustan sé í lagi skaltu keyra eftirfarandi skipun.

# systemctl status postgresql

Eftirfarandi eru aðrar gagnlegar systemctl skipanir til að stjórna Postgres þjónustunni undir systemd.

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

Að tryggja og stilla PostgreSQL gagnagrunn

Sjálfgefið er að Postgres notar hugtakið hlutverk til að stjórna aðgangsheimildum gagnagrunns og gagnagrunnshlutverk eru hugmyndalega algjörlega aðskilin frá notendum stýrikerfisins. Hlutverk getur verið notandi eða hópur og hlutverk sem hefur innskráningarrétt er kallað notandi.

Nýuppstillt kerfi inniheldur alltaf eitt fyrirfram skilgreint hlutverk sem kallast postgres, það hefur sama nafn og stýrikerfi notendareikningur sem heitir postgres, sem er notaður til að fá aðgang að psql (Postgres skel) og öðrum gagnagrunnsforritum.

Notendareikningur Postgres kerfisins er ekki varinn með lykilorði, til að tryggja það geturðu búið til lykilorð með passwd tólinu.

# passwd postgres

Einnig er Postgres hlutverkið (eða stjórnunargagnagrunnsnotandi ef þú vilt) ekki sjálfgefið tryggt. Þú þarft líka að tryggja það með lykilorði. Skiptu nú yfir í postgres kerfisnotendareikninginn og postgres hlutverkið (mundu að setja sterkt og öruggt lykilorð) eins og sýnt er.

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

Lokaðu síðan postgres reikningnum til að halda áfram með leiðbeiningarnar.

Að stilla auðkenningu viðskiptavinar

Aðal stillingarskrá Postgres er staðsett á /etc/postgresql/11/main/postgresql.conf. Auk þessarar skráar notar Postgres tvær aðrar handvirkt breyttar stillingarskrár, sem stjórna auðkenningu viðskiptavinar.

Auðkenning viðskiptavinar er stjórnað af /etc/postgresql/11/main/pg_hba.conf stillingarskránni. Postgres býður upp á margar mismunandi auðkenningaraðferðir viðskiptavina þar á meðal auðkenning sem byggir á lykilorði. Viðskiptavinatengingar eru auðkenndar út frá vistfangi gestgjafa viðskiptavinar, gagnagrunni og notanda.

Ef þú velur að nota auðkenningu sem byggir á lykilorði geturðu innleitt eina af þessum aðferðum: md5 eða lykilorð sem virka á svipaðan hátt nema hvernig lykilorðið er sent um tenginguna, þ.e. MD5-hashed og skýr texta.

Með því að nota md5 auðkenningu lykilorðs kemur í veg fyrir að tölvuþrjótar þefa lykilorð og forðast að geyma lykilorð á þjóninum í einföldum texta. Aðeins er hægt að nota lykilorðsaðferðina á öruggan hátt ef tengingin er vernduð með SSL dulkóðun.

Fyrir þessa handbók munum við sýna hvernig á að stilla md5 lykilorðavottun fyrir auðkenningu viðskiptavinar.

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

Leitaðu að eftirfarandi línu og breyttu auðkenningaraðferðinni í md5 eins og sýnt er á skjámyndinni.

local   all             all                                     md5

Vistaðu breytingarnar í skránni og farðu úr henni. Notaðu síðan nýlegar breytingar með því að endurræsa Postgres þjónustuna sem hér segir.

# systemctl restart postgresql

Að búa til nýjan gagnagrunn og gagnagrunnshlutverk/notanda í PostgreSQL

Í þessum síðasta hluta munum við sýna hvernig á að búa til nýjan gagnagrunnsnotanda og gagnagrunnshlutverk til að stjórna honum. Fyrst skaltu skipta yfir í postgres reikninginn og opna Postgres skelina sem hér segir.

# su - postgres
$ psql

Til að búa til gagnagrunn sem heitir test_db skaltu keyra eftirfarandi SQL skipun.

postgres=# CREATE DATABASE test_db;

Búðu síðan til gagnagrunnsnotanda (hlutverk með innskráningarréttindum) sem mun hafa umsjón með nýja gagnagrunninum sem hér segir.

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

Til að tengjast test_db sem notanda test_user skaltu keyra eftirfarandi skipun.

 
$ psql -d  test_db  -U test_user

Fyrir frekari upplýsingar, sjá PostgreSQL 11 skjölin.

Það er ef í bili! Í þessari handbók höfum við sýnt hvernig á að setja upp, tryggja og stilla PostgreSQL gagnagrunnsþjón í Debian 10. Hefur þú einhverjar spurningar eða hugsanir til að deila? Notaðu athugasemdareyðublaðið hér að neðan til að ná í okkur.