Giunsa ang Pag-install sa PostgreSQL Database sa Debian 10


Ang PostgreSQL (usahay gitawag nga Postgres) mao ang labing abante nga open-source nga kinatibuk-ang katuyoan ug object-relational database system nga adunay usa ka napamatud-an nga arkitektura nga nagdagan sa tanan nga dagkong mga operating system. Kini usa ka taas nga performance, stable, scalable ug extensible database system nga naghatag ug katingad-an nga integridad sa datos ug nagsuporta sa gamhanang mga add-on.

Importante, ang PostgreSQL nagtugot kanimo sa paghubit sa imong kaugalingon nga mga tipo sa datos, pagdugang sa custom nga mga function, bisan pagsulat og code gikan sa lain-laing mga programming language sama sa C/C++, Java, ug uban pa, nga walay pag-compile sa imong database.

Ang PostgreSQL gigamit sa mga iladong kompanya sa Tech sama sa Apple, Fujitsu, Red Hat, Cisco, Juniper Network, ug uban pa.

Niini nga artikulo, ipakita namon kanimo kung giunsa ang pag-install, pagsiguro ug pag-configure sa mga database sa PostgreSQL server sa Debian 10.

  1. Pag-instalar og Debian 10 (Buster) Minimal Server

Pag-instalar sa PostgreSQL Server sa Debian 10

Aron ma-install ang PostgreSQL database server, gamita ang default APT package manager, nga mag-install sa PostgreSQL 11 server ug kliyente.

# apt install postgresql-11 postgresql-client-11

Sa Debian, sama sa bisan unsang ubang mga daemon, ang database sa Postgres gisugdan dayon pagkahuman sa pag-install sa package ingon sa gipakita sa mosunod nga screenshot.

Aron masusi kung ang database sa Postgres tinuod nga nasugdan, mahimo nimong gamiton ang pg_isready utility nga nagsusi sa status sa koneksyon sa usa ka PostgreSQL server, ingon sa mosunod.

# pg_isready 

Gawas pa, ubos sa systemd, ang serbisyo sa Postgres awtomatik usab nga gisugdan ug mahimo nga magsugod sa boot sa system. Aron masiguro nga ang serbisyo nahuman ug maayo, padagana ang mosunud nga mando.

# systemctl status postgresql

Ang mosunod mao ang uban nga mapuslanon nga systemctl nga mga sugo sa pagdumala sa serbisyo sa Postgres ubos sa systemd.

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

Pagsiguro ug Pag-configure sa PostgreSQL Database

Sa kasagaran, ang Postgres naggamit sa konsepto sa mga tahas sa pagdumala sa mga permiso sa pag-access sa database ug ang mga papel sa database sa konsepto hingpit nga bulag gikan sa mga tiggamit sa operating system. Ang usa ka papel mahimong usa ka user o usa ka grupo, ug ang usa ka papel nga adunay katungod sa pag-login gitawag nga user.

Ang bag-ong gisugdan nga sistema kanunay adunay usa ka gitakda nang daan nga tahas nga gitawag ug postgres, kini adunay parehas nga ngalan sa operating system user account nga gitawag ug postgres, nga gigamit sa pag-access sa psql (Postgres shell) ug uban pang mga programa sa database.

Ang Postgres system user account dili protektado gamit ang password, aron ma-secure kini, makahimo ka og password gamit ang passwd utility.

# passwd postgres

Usab, ang papel sa Postgres (o administratibo nga tiggamit sa database kung gusto nimo) dili luwas pinaagi sa default. Kinahanglan nimo usab nga i-secure kini gamit ang usa ka password. Karon balhin sa postgres system user account ug postgres nga papel (hinumdomi nga magbutang ug lig-on ug luwas nga password) sama sa gipakita.

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

Unya paggawas sa postgres account aron ipadayon ang giya.

Pag-configure sa Pagpamatuod sa Kliyente

Ang nag-unang Postgres configuration file nahimutang sa /etc/postgresql/11/main/postgresql.conf. Dugang pa niini nga payl, ang Postgres naggamit ug duha pa ka manwal nga gi-edit nga mga configuration file, nga nagkontrolar sa pag-authenticate sa kliyente.

Ang pag-authenticate sa kliyente kontrolado sa /etc/postgresql/11/main/pg_hba.conf configuration file. Naghatag ang Postgres og daghang lainlaing mga pamaagi sa pag-authenticate sa kliyente lakip ang pag-authenticate nga nakabase sa password. Ang mga koneksyon sa kliyente gipamatud-an base sa adres sa host sa kliyente, database, ug tiggamit.

Kung imong pilion ang paggamit sa password-based authentication, mahimo nimong ipatuman ang usa niini nga mga pamaagi: md5 o password nga parehas nga naglihok gawas sa paagi nga ang password gipasa sa koneksyon, nga mao ang MD5-hashed ug tin-aw nga teksto matag usa.

Ang paggamit sa md5 password authentication naglikay sa pag-sniff sa password sa mga hacker ug naglikay sa pagtipig sa mga password sa server sa yano nga teksto. Ang pamaagi sa password mahimo lamang nga luwas nga gamiton kung ang koneksyon gipanalipdan sa SSL encryption.

Alang sa kini nga giya, ipakita namon kung giunsa ang pag-configure sa pag-authenticate sa password sa md5 alang sa pag-authenticate sa kliyente.

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

Pangitaa ang mosunod nga linya ug usba ang pamaagi sa pag-authenticate ngadto sa md5 sama sa gipakita sa screenshot.

local   all             all                                     md5

I-save ang mga pagbag-o sa file ug paggawas niini. Dayon i-apply ang bag-o nga mga pagbag-o pinaagi sa pagsugod pag-usab sa serbisyo sa Postgres sama sa mosunod.

# systemctl restart postgresql

Paghimo og Bag-ong Database ug Database Role/User sa PostgreSQL

Niining katapusang seksyon, among ipakita kung giunsa paghimo ang usa ka bag-ong tiggamit sa database ug usa ka papel sa database aron madumala kini. Una, balhin sa postgres account ug ablihi ang Postgres shell sama sa mosunod.

# su - postgres
$ psql

Aron makahimo og database nga gitawag og \test_db padagana ang mosunod nga SQL command.

postgres=# CREATE DATABASE test_db;

Dayon paghimo og database user (usa ka papel nga adunay mga katungod sa pag-login) nga modumala sa bag-ong database sama sa mosunod.

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

Aron makonektar sa test_db isip user test_user, padagana ang mosunod nga sugo.

 
$ psql -d  test_db  -U test_user

Para sa dugang nga impormasyon, tan-awa ang PostgreSQL 11 nga dokumentasyon.

Kana kung sa pagkakaron! Niini nga giya, gipakita namo kung unsaon pag-instalar, pagsiguro ug pag-configure sa PostgreSQL databases server sa Debian 10. Aduna ka bay pangutana o hunahuna nga ipaambit? Gamita ang comment form sa ubos para maabot mi.