Kaip įdiegti „PostgreSQL“ duomenų bazę „Debian 10“.


PostgreSQL (kartais vadinama Postgres) yra pažangiausia atvirojo kodo bendrosios paskirties ir objektų santykių duomenų bazių sistema, turinti patikrintą architektūrą, kuri veikia visose pagrindinėse operacinėse sistemose. Tai didelio našumo, stabili, keičiamo dydžio ir išplečiama duomenų bazių sistema, kuri užtikrina nuostabų duomenų vientisumą ir palaiko galingus priedus.

Svarbu tai, kad PostgreSQL leidžia apibrėžti savo duomenų tipus, pridėti pasirinktinių funkcijų, net rašyti kodą iš skirtingų programavimo kalbų, pvz., C/C++, Java ir kt., neperkompiliuojant duomenų bazės.

PostgreSQL naudoja žinomos technologijų įmonės, pvz., „Apple“, „Fujitsu“, „Red Hat“, „Cisco“, „Juniper Network“ ir kt.

Šiame straipsnyje parodysime, kaip įdiegti, apsaugoti ir konfigūruoti PostgreSQL duomenų bazių serverį Debian 10.

Reikalavimas:

  1. Įdiekite Debian 10 (Buster) minimalų serverį

„PostgreSQL Server“ diegimas „Debian 10“.

Norėdami įdiegti PostgreSQL duomenų bazės serverį, naudokite numatytąją APT paketų tvarkyklę, kuri įdiegs PostgreSQL 11 serverį ir klientą.

apt install postgresql-11 postgresql-client-11

Naudojant Debian, kaip ir bet kuriuose kituose demonuose, Postgres duomenų bazė inicijuojama iškart po paketo diegimo, kaip parodyta toliau esančioje ekrano kopijoje.

Norėdami patikrinti, ar Postgres duomenų bazė tikrai inicijuota, galite naudoti pg_isready priemonę, kuri tikrina PostgreSQL serverio ryšio būseną, kaip nurodyta toliau.

pg_isready 

Be to, skiltyje systemd paslauga Postgres taip pat paleidžiama automatiškai ir įgalinama paleisti sistemą paleidžiant. Norėdami įsitikinti, kad paslauga veikia gerai, paleiskite šią komandą.

systemctl status postgresql

Toliau pateikiamos kitos naudingos systemctl komandos, leidžiančios valdyti Postgres paslaugą pagal systemd.

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

PostgreSQL duomenų bazės apsauga ir konfigūravimas

Pagal numatytuosius nustatymus Postgres naudoja vaidmenų sąvoką duomenų bazės prieigos leidimams valdyti, o duomenų bazės vaidmenys yra visiškai atskirti nuo operacinės sistemos naudotojų. Vaidmuo gali būti vartotojas arba grupė, o vaidmuo, turintis prisijungimo teisę, vadinamas vartotoju.

Naujai inicijuotoje sistemoje visada yra vienas iš anksto nustatytas vaidmuo, vadinamas postgres, jos pavadinimas toks pat kaip ir operacinės sistemos vartotojo abonemento pavadinimas postgres, kuris naudojamas norint pasiekti psql. (Postgres apvalkalas) ir kitos duomenų bazės programos.

„Postgres“ sistemos vartotojo abonementas nėra apsaugotas slaptažodžiu. Norėdami ją apsaugoti, galite sukurti slaptažodį naudodami passwd įrankį.

passwd postgres

Be to, vaidmuo Postgres (arba administracinis duomenų bazės naudotojas, jei norite) nėra apsaugotas pagal numatytuosius nustatymus. Taip pat turite jį apsaugoti slaptažodžiu. Dabar perjunkite į postgres sistemos vartotojo paskyrą ir postgres vaidmenį (nepamirškite nustatyti tvirto ir saugaus slaptažodžio), kaip parodyta.

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

Tada išeikite iš postgres paskyros ir tęskite vadovą.

Kliento autentifikavimo konfigūravimas

Pagrindinis Postgres konfigūracijos failas yra adresu /etc/postgresql/11/main/postgresql.conf. Be šio failo, Postgres naudoja kitus du rankiniu būdu redaguotus konfigūracijos failus, kurie valdo kliento autentifikavimą.

Kliento autentifikavimą valdo /etc/postgresql/11/main/pg_hba.conf konfigūracijos failas. „Postgres“ siūlo daugybę skirtingų kliento autentifikavimo metodų, įskaitant slaptažodžiu pagrįstą autentifikavimą. Kliento ryšiai autentifikuojami pagal kliento pagrindinio kompiuterio adresą, duomenų bazę ir vartotoją.

Jei pasirinksite naudoti slaptažodžiu pagrįstą autentifikavimą, galite įdiegti vieną iš šių metodų: md5 arba slaptažodį, kurie veikia panašiai, išskyrus būdą, kuriuo slaptažodis perduodamas per ryšį. , ty atitinkamai MD5 maišos ir aiškus tekstas.

Naudojant md5 slaptažodžio autentifikavimą išvengiama įsilaužėlių slaptažodžių uostymo ir išvengiama slaptažodžių saugojimo serveryje paprastu tekstu. Slaptažodžio metodas gali būti saugiai naudojamas tik tuo atveju, jei ryšys yra apsaugotas SSL šifravimu.

Šiame vadove parodysime, kaip sukonfigūruoti md5 slaptažodžio autentifikavimą kliento autentifikavimui.

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

Ieškokite šios eilutės ir pakeiskite autentifikavimo metodą į md5, kaip parodyta ekrano kopijoje.

local   all             all                                     md5

Išsaugokite failo pakeitimus ir išeikite iš jo. Tada pritaikykite naujausius pakeitimus iš naujo paleisdami paslaugą Postgres, kaip nurodyta toliau.

systemctl restart postgresql

Naujos duomenų bazės ir duomenų bazės vaidmens/vartotojo sukūrimas naudojant PostgreSQL

Paskutiniame skyriuje parodysime, kaip sukurti naują duomenų bazės vartotoją ir duomenų bazės vaidmenį jai valdyti. Pirmiausia perjunkite į postgres paskyrą ir atidarykite Postgres apvalkalą, kaip nurodyta toliau.

su - postgres
psql

Norėdami sukurti duomenų bazę, pavadintą „test_db“, paleiskite šią SQL komandą.

postgres=# CREATE DATABASE test_db;

Tada sukurkite duomenų bazės vartotoją (vaidmenį su prisijungimo teisėmis), kuris valdys naują duomenų bazę taip.

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

Norėdami prisijungti prie test_db kaip naudotojo test_user, paleiskite šią komandą.

 
psql -d  test_db  -U test_user

Daugiau informacijos rasite PostgreSQL 11 dokumentacijoje.

Išvada

Tai jei kol kas! Šiame vadove parodėme, kaip įdiegti, apsaugoti ir konfigūruoti PostgreSQL duomenų bazių serverį Debian 10. Ar turite klausimų ar minčių, kuriomis norite pasidalinti? Norėdami susisiekti su mumis, naudokite toliau pateiktą komentarų formą.