Jinsi ya Kufunga na Kutumia PostgreSQL kwenye Ubuntu 18.04


PostgreSQL (Postgres kwa ufupi) ni chanzo wazi, chenye nguvu, cha hali ya juu, utendaji wa hali ya juu na mfumo thabiti wa hifadhidata wa hati za uhusiano. Inatumia na kuboresha lugha ya SQL pamoja na idadi kubwa ya vipengele vya kuhifadhi na kudhibiti data.

Ni bora, inategemewa, na inaweza kupanuka kwa kushughulikia idadi kubwa, ngumu ya data na kuweka mazingira ya kiwango cha biashara na kustahimili makosa, huku ikihakikisha uadilifu wa juu wa data. Postgres pia inaweza kupanuka sana ikiwa na vipengele kama vile faharasa huja na API ili uweze kutengeneza masuluhisho yako mwenyewe ili kutatua changamoto zako za kuhifadhi data.

Katika makala hii, tutaelezea jinsi ya kusakinisha PostgreSQL kwenye seva ya Ubuntu 18.04 (pia inafanya kazi kwenye matoleo ya zamani ya Ubuntu) na kujifunza baadhi ya njia za msingi za kuitumia.

Jinsi ya kufunga PostgreSQL kwenye Ubuntu

Kwanza, unda faili /etc/apt/sources.list.d/pgdg.list ambayo huhifadhi usanidi wa hazina, kisha ingiza ufunguo wa hazina kwenye mfumo wako, sasisha orodha ya vifurushi vya mfumo wako na usakinishe kifurushi cha Postgres kwa kutumia amri zifuatazo.

$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
$ sudo apt install wget ca-certificates
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ sudo apt update
$ sudo apt install postgresql-10 pgadmin4 

Mara baada ya postgres kusakinishwa, huduma ya hifadhidata ilianza kiotomatiki na unaweza kuthibitisha kwa kuandika amri ifuatayo.

$ sudo systemctl status postgresql.service

Jinsi ya Kutumia Majukumu na Hifadhidata za PostgreSQL

Katika postgres, uthibitishaji wa mteja unadhibitiwa na /etc/postgresql/10/main/pg_hba.conf faili ya usanidi. Mbinu chaguo-msingi ya uthibitishaji ni \rika kwa msimamizi wa hifadhidata, kumaanisha kuwa inapata jina la mtumiaji la mfumo wa uendeshaji wa mteja kutoka kwa mfumo wa uendeshaji na kuangalia kama inalingana na jina la mtumiaji la hifadhidata iliyoombwa ili kuruhusu ufikiaji, kwa miunganisho ya ndani (kama inavyoonyeshwa katika zifuatazo. picha ya skrini).

Wakati wa mchakato wa usakinishaji, akaunti ya mtumiaji wa mfumo inayoitwa postgres iliundwa bila nenosiri, hii pia ni jina la mtumiaji wa msimamizi wa hifadhidata.

$ sudo vim /etc/postgresql/10/main/pg_hba.conf

Kwa kuongezea, chini ya usimamizi wa idhini ya ufikiaji wa hifadhidata ya postgres hufanywa kupitia majukumu. Jukumu linaweza kuzingatiwa kama mtumiaji wa hifadhidata, au kikundi cha watumiaji wa hifadhidata, kulingana na jinsi jukumu hilo linavyowekwa.

Jukumu la msingi pia ni postgres. Muhimu zaidi, majukumu ya hifadhidata kimawazo hayajaunganishwa kikamilifu kwa watumiaji wa mfumo wa uendeshaji, lakini kiutendaji yanaweza yasiwe tofauti (kwa mfano linapokuja suala la uthibitishaji wa mteja).

Muhimu zaidi, majukumu yanaweza kumiliki vitu vya hifadhidata, na inaweza kupeana upendeleo kwenye vitu hivyo kwa majukumu mengine ili kudhibiti ni nani anayeweza kufikia vitu vipi. Kwa kuongeza, inawezekana kutoa uanachama katika jukumu kwa jukumu lingine.

Ili kusanidi majukumu mengine ya kutumia nenosiri lililosimbwa kwa njia fiche ili kudhibiti hifadhidata walizokabidhiwa, kando na jukumu la chaguo-msingi la posta, unahitaji kubadilisha laini kuwa.

Then restart the postgresql service to apply the recent changes.
$ sudo systemctl restart postgresql

Jinsi ya kutumia PostgreSQL kwenye Ubuntu

Mara tu kila kitu kitakaposanidiwa, unaweza kufikia akaunti ya mfumo wa postgres kwa amri ifuatayo, ambapo -i bendera inaambia sudo kuendesha ganda lililobainishwa na ingizo la hifadhidata ya mtumiaji lengwa kama ganda la kuingia.

$ sudo -i -u postgres 
$ psql		#to launch the postgres shell program  
postgres=#

Ili kufikia ganda la posta moja kwa moja, bila kupata kwanza akaunti ya mtumiaji wa posta, endesha amri ifuatayo.

$ sudo -i -u postgres psql

Unaweza kuacha/kutoka kwenye postgres kwa kuandika amri ifuatayo.

postgres=# \q

Unda jukumu jipya la mtumiaji kwa kutumia amri ifuatayo.

postgres=# CREATE ROLE tecmint;

Ili kuunda jukumu na sifa ya INGIA, tumia amri ifuatayo (majukumu yenye sifa ya INGIA yanaweza kuchukuliwa kuwa sawa na watumiaji wa hifadhidata).

postgres=#CREATE ROLE tecmint LOGIN;
OR
postgres=#CREATE USER name;	#assumes login function by default

Jukumu linaweza pia kuundwa kwa nenosiri, hii ni muhimu ikiwa ulisanidi mbinu ya uthibitishaji ya mteja ili kuwauliza watumiaji kutoa nenosiri lililosimbwa wakati wa kuunganisha kwenye hifadhidata.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Ili kuorodhesha majukumu yaliyopo ya mtumiaji, tumia mojawapo ya amri hizi.

postgres=# \du 				#shows actual users
OR
postgres=# SELECT rolname FROM pg_roles;

Ili kuacha jukumu lolote la mtumiaji lililopo tumia amri ya DROP ROLE kama inavyoonyeshwa.

postgres=# DROP ROLE tecmint;

Mara tu unapounda jukumu kwa jina fulani (kwa mfano mtumiaji wa tecmint), unaweza kuunda hifadhidata (iliyo na jina sawa na jukumu) ambayo itasimamiwa na jukumu hilo kama inavyoonyeshwa.

postgres=# CREATE DATABASE tecmint;

Sasa ili kudhibiti tecmint ya hifadhidata, fikia ganda la postgres kama jukumu la tecmint, toa nenosiri lako kama ifuatavyo.

$ sudo -i -u tecmint psql

Kuunda majedwali ni rahisi sana, tutaunda jedwali la majaribio linaloitwa waandishi, ambalo huhifadhi habari kuhusu waandishi wa TecMint.com, kama inavyoonyeshwa.

tecmint=>CREATE TABLE authors (
    code      char(5) NOT NULL,
    name    varchar(40) NOT NULL,
    city varchar(40) NOT NULL
    joined_on date NOT NULL,	
    PRIMARY KEY (code)
);

Baada ya kuunda meza, jaribu kuijaza na data fulani, kama ifuatavyo.

tecmint=> INSERT INTO authors VALUES(1,'Ravi Saive','Mumbai','2012-08-15');

Ili kutazama data iliyohifadhiwa kwenye jedwali, unaweza kutekeleza amri ya CHAGUA.

tecmint=> SELECT * FROM authors;

Unaweza kuorodhesha majedwali yote kwenye hifadhidata ya sasa kwa amri ifuatayo.

tecmint=>\dt

Ili kufuta jedwali katika hifadhidata ya sasa, tumia amri ya DROP.

tecmint=> DROP TABLE authors;

Ili kuorodhesha hifadhidata zote, tumia mojawapo ya amri zifuatazo.

tecmint=>SELECT datname FROM pg_database;
OR
tecmint=>\list	#shows a detailed description 
OR
tecmint=>\l

Ikiwa unataka kufuta hifadhidata, tumia amri ya DROP, kwa mfano.

tecmint=>DROP DATABASE tecmint;

Unaweza pia kubadili kutoka hifadhidata moja hadi nyingine kwa urahisi kwa kutumia amri ifuatayo.

tecmint=>\connect database_name

Kwa habari zaidi, rejelea Hati za PostgreSQL 10.4.

Ni hayo kwa sasa! Katika nakala hii, tumeelezea jinsi ya kusakinisha na kutumia mfumo wa usimamizi wa hifadhidata wa PostgreSQL kwenye Ubuntu 18.04. Unaweza kututumia maswali au mawazo yako kwenye maoni.