Debian 10-da PostgreSQL maglumat bazasyny nädip gurmaly


PostgreSQL (käwagt Postgres diýlip atlandyrylýar) ähli esasy operasiýa ulgamlarynda işleýän subut edilen arhitektura bilen iň ösen açyk çeşme umumy maksatly we obýekt bilen baglanyşykly maglumatlar bazasydyr. Ajaýyp maglumat bitewiligini üpjün edýän we güýçli goşmaçalary goldaýan ýokary öndürijilikli, durnukly, ulalýan we giňeldilip bilinýän maglumatlar binýady ulgamy.

Möhüm zat, PostgreSQL öz maglumat görnüşleriňizi kesgitlemäge, aýratyn funksiýalary goşmaga, hatda C/C ++, Java we ş.m. ýaly dürli programma dillerinden kod ýazmaga mümkinçilik berýär.

PostgreSQL, Apple, Fujitsu, Red Hat, Cisco, Juniper Network we ş.m. ýaly belli Tehniki kompaniýalar tarapyndan ulanylýar.

Bu makalada, Debian 10-da PostgreSQL maglumat bazalarynyň serwerini nädip gurmalydygyny, howpsuzlygyny we sazlanyşyny görkezeris.

  1. Debian 10 (Buster) minimal serweri guruň

Debian 10-da PostgreSQL serwerini gurmak

PostgreSQL maglumat bazasynyň serwerini gurmak üçin, PostgreSQL 11 serwerini we müşderisini gurjak adaty APT paket dolandyryjysyny ulanyň.

# apt install postgresql-11 postgresql-client-11

Debian-da, beýleki daemonlar ýaly, “Postgres” maglumatlar bazasy, indiki skrinshotda görkezilişi ýaly paket gurmak tamamlanandan soň derrew işe girizilýär.

Postgres maglumatlar bazasynyň hakykatdanam başlandygyny ýa-da ýokdugyny barlamak üçin, PostgreSQL serweriniň birikme ýagdaýyny aşakdaky ýaly barlaýan pg_isready programmasyny ulanyp bilersiňiz.

# pg_isready 

Mundan başga-da, systemd astynda “Postgres” hyzmaty hem awtomatiki usulda işe girizilýär we ulgam ýüklemesinden başlamaga mümkinçilik berýär. Hyzmatyň işleýändigine we işleýändigine göz ýetirmek üçin aşakdaky buýrugy işlediň.

# systemctl status postgresql

Aşakda systemd astyndaky Postgres hyzmatyny dolandyrmak üçin beýleki peýdaly systemctl buýruklary bar.

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

PostgreSQL maglumat bazasyny goramak we düzmek

Düzgüne görä, “Postgres” maglumatlar bazasyna giriş rugsatlaryny dolandyrmak üçin rollar düşünjesini ulanýar we maglumatlar bazasynyň rollary operasiýa ulgamynyň ulanyjylaryndan düýbünden aýrydyr. Bir rol ulanyjy ýa-da topar bolup biler we giriş hukugy bolan rola ulanyjy diýilýär.

Täze başlanan ulgam elmydama postgres atly öňünden kesgitlenen roly öz içine alýar, psql (Postgres gabygy) we beýleki maglumatlar bazasy programmalaryna girmek üçin ulanylýan postgres atly operasiýa ulgamynyň ulanyjy hasaby bilen birmeňzeş ady bar.

“Postgres” ulgamynyň ulanyjy hasaby parol bilen goralmaýar, ony goramak üçin passwd kömekçi programmasyny ulanyp parol döredip bilersiňiz.

# passwd postgres

Mundan başga-da, “Postgres” roly (ýa-da isleseňiz administratiw maglumat bazasy ulanyjysy) kepillendirilmeýär. Şeýle hem parol bilen üpjün etmeli. Indi görkezilişi ýaly postgres ulgamynyň ulanyjy hasabyna we postgres roluna geçiň (güýçli we ygtybarly parol goýmagy ýatdan çykarmaň).

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

Soňra gollanmany dowam etdirmek üçin postgres hasabyndan çykyň.

Müşderiniň hakykylygyny sazlamak

“Postgres” -iň esasy konfigurasiýa faýly /etc/postgresql/11/main/postgresql.conf-da ýerleşýär. Postgres bu faýldan başga-da, müşderiniň hakykylygyny gözegçilikde saklaýan, el bilen redaktirlenen iki sany konfigurasiýa faýly ulanýar.

Müşderiniň tassyklanylyşy /etc/postgresql/11/main/pg_hba.conf konfigurasiýa faýly tarapyndan dolandyrylýar. Postgres, parol esasly tanamaklygy goşmak bilen köp dürli müşderi tanamak usullaryny üpjün edýär. Müşderi baglanyşyklary, müşderi host salgysyna, maglumat bazasyna we ulanyja esaslanýar.

Parol esasly tanamaklygy ulanmagy saýlasaňyz, şu usullaryň birini durmuşa geçirip bilersiňiz: md5 ýa-da parol, baglanyşykda parolyň geçirilişinden başga, degişlilikde MD5 ýuwulan we düşnükli tekst.

Md5 paroly tanamaklyk, hakerleriň paroly ýuwmagynyň öňüni alýar we serwerde parollary açyk tekstde saklamakdan saklanýar. Parol usuly diňe birikme SSL şifrlemek bilen goralsa ygtybarly ulanylyp bilner.

Bu gollanma üçin, müşderini tanamak üçin md5 paroly tassyklamagy nädip sazlamalydygyny görkezeris.

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

Aşakdaky setiri gözläň we skrinshotda görkezilişi ýaly tanamak usulyny md5 üýtgediň.

local   all             all                                     md5

Faýldaky üýtgeşmeleri ýazdyryň we çykyň. Soňra “Postgres” hyzmatyny aşakdaky ýaly täzeden açyp, soňky üýtgeşmeleri ulanyň.

# systemctl restart postgresql

PostgreSQL-de täze maglumat bazasy we maglumat bazasynyň roly/ulanyjy döretmek

Bu soňky bölümde täze maglumatlar bazasyny ulanyjyny we ony dolandyrmak üçin maglumat bazasynyň roluny nädip döretmelidigini görkezeris. Ilki bilen, postgres hasabyna geçiň we Postgres gabygyny aşakdaky ýaly açyň.

# su - postgres
$ psql

\ Test_db atly maglumat bazasyny döretmek üçin aşakdaky SQL buýrugyny işlediň.

postgres=# CREATE DATABASE test_db;

Soňra täze maglumat bazasyny aşakdaky ýaly dolandyrjak maglumat bazasy ulanyjysyny (giriş hukuklary bilen bir rol) dörediň.

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

Test_db ulanyjy test_user hökmünde birikmek üçin aşakdaky buýrugy işlediň.

 
$ psql -d  test_db  -U test_user

Has giňişleýin maglumat üçin PostgreSQL 11 resminamalaryna serediň.

Häzirlikçe şeýle! Bu gollanmada, Debian 10-da PostgreSQL maglumat bazalarynyň serwerini nädip gurmalydygyny, howpsuzlandyrmalydygyny we sazlamalydygyny görkezdik, paýlaşjak soragyňyz ýa-da pikiriňiz barmy? Bize ýetmek üçin aşakdaky düşündiriş formuny ulanyň.