Giunsa ang Pag-install ug Paggamit sa PostgreSQL sa Ubuntu 18.04


Ang PostgreSQL (Postgres sa laktod) usa ka bukas nga tinubdan, gamhanan, abante, taas nga performance ug lig-on nga relational-document database system. Gigamit ug gipauswag niini ang SQL nga sinultian inubanan sa daghang mga bahin alang sa luwas nga pagtipig ug pagdumala sa datos.

Kini episyente, kasaligan, ug scalable alang sa pagdumala sa dagko, komplikado nga mga volume sa datos ug pag-set up sa lebel sa negosyo ug fault-tolerant nga palibot, samtang gisiguro ang taas nga integridad sa datos. Ang mga postgres labi usab nga mapadako sa mga bahin sama sa mga indeks nga adunay mga API aron mahimo nimo ang imong kaugalingon nga mga solusyon aron masulbad ang imong mga hagit sa pagtipig sa datos.

Sa kini nga artikulo, among ipasabut kung giunsa ang pag-install sa PostgreSQL sa usa ka server sa Ubuntu 18.04 (nagtrabaho usab sa mga tigulang nga pagpagawas sa Ubuntu) ug pagkat-on sa pipila ka sukaranan nga mga paagi sa paggamit niini.

Giunsa ang Pag-install sa PostgreSQL sa Ubuntu

Una, paghimo og file /etc/apt/sources.list.d/pgdg.list nga nagtipig sa configuration sa repository, dayon i-import ang repository key sa imong system, i-update ang imong system packages list ug i-install ang Postgres package gamit ang mosunod nga mga command.

$ 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 

Kung na-install na ang mga postgres, awtomatiko nga nagsugod ang serbisyo sa database ug makumpirma nimo pinaagi sa pag-type sa pagsunod sa mando.

$ sudo systemctl status postgresql.service

Giunsa Paggamit ang Mga Papel ug Database sa PostgreSQL

Sa mga postgres, ang pag-authenticate sa kliyente kontrolado sa /etc/postgresql/10/main/pg_hba.conf configuration file. Ang default nga pamaagi sa pag-authenticate mao ang \peer alang sa database administrator, nagpasabot nga makuha niini ang operating system user name sa kliyente gikan sa operating system ug susihon kung kini mohaum sa gihangyo nga database user name aron tugotan ang access, alang sa mga lokal nga koneksyon (sama sa gipakita sa mosunod screenshot).

Atol sa proseso sa pag-instalar, usa ka sistema sa user account nga gitawag og postgres ang gihimo nga walay password, kini usab ang default database administrator user name.

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

Dugang pa, ubos sa postgres database access nga pagdumala sa pagtugot gihimo pinaagi sa mga tahas. Ang usa ka tahas mahimong isipon nga usa ka tiggamit sa database, o usa ka grupo sa mga tiggamit sa database, depende kung giunsa ang pagpahimutang sa papel.

Ang default nga papel mao usab ang mga postgres. Importante, ang mga papel sa database sa konsepto hingpit nga walay koneksyon sa mga tiggamit sa operating system, apan halos dili sila mahimong bulag (pananglitan kon mahitungod sa pag-authenticate sa kliyente).

Importante, ang mga tahas makapanag-iya sa mga butang sa database, ug maka-assign sa mga pribilehiyo sa mga butang ngadto sa ubang mga tahas aron makontrol kung kinsa ang adunay access sa mga butang. Dugang pa, posible nga hatagan ang pagkamiyembro sa usa ka tahas sa laing tahas.

Aron ma-configure ang ubang mga tahas aron magamit ang mga naka-encrypt nga password aron madumala ang mga database nga gi-assign kanila, gawas sa default nga papel sa postgres, kinahanglan nimo nga usbon ang linya sa.

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

Giunsa Paggamit ang PostgreSQL sa Ubuntu

Sa higayon nga ma-setup na ang tanan, mahimo nimong ma-access ang postgres system account gamit ang mosunod nga command, diin ang -i flag nagsulti sudo sa pagpadagan sa kabhang nga gipiho sa password database entry sa target user isip login shell.

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

Aron ma-access ang postgres shell direkta, nga dili una maka-access sa postgres user account, padagana ang mosunod nga sugo.

$ sudo -i -u postgres psql

Mahimo kang mohunong/mogawas sa mga postgres pinaagi sa pag-type sa mosunod nga sugo.

postgres=# \q

Paghimo og bag-ong papel sa user gamit ang mosunod nga sugo.

postgres=# CREATE ROLE tecmint;

Aron makahimo og usa ka papel nga adunay usa ka LOGIN attribute, gamita ang mosunod nga command (mga tahas nga adunay LOGIN attribute mahimong isipon nga parehas sa usa ka database users).

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

Ang usa ka tahas mahimo usab nga mahimo gamit ang usa ka password, kini mapuslanon kung imong gi-configure ang pamaagi sa pag-authenticate sa kliyente aron hangyoon ang mga tiggamit nga maghatag usa ka naka-encrypt nga password kung magkonektar sa database.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Aron ilista ang kasamtangan nga mga tahas sa user, gamita ang bisan unsa niini nga mga sugo.

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

Aron ihulog ang bisan unsang kasamtangan nga papel sa gumagamit gamita ang DROP ROLE nga mando sama sa gipakita.

postgres=# DROP ROLE tecmint;

Sa higayon nga nakahimo ka og usa ka papel nga adunay usa ka partikular nga ngalan (pananglitan tecmint user), makahimo ka og database (nga adunay sama nga ngalan sa papel) nga pagadumalaon sa maong tahas sama sa gipakita.

postgres=# CREATE DATABASE tecmint;

Karon aron madumala ang database tecmint, i-access ang postgres shell isip tecmint nga papel, ihatag ang imong password sama sa mosunod.

$ sudo -i -u tecmint psql

Sayon ra kaayo ang paghimo ug mga lamesa, maghimo kami usa ka lamesa sa pagsulay nga gitawag mga awtor, nga nagtipig kasayuran bahin sa mga tagsulat sa TecMint.com, ingon sa gipakita.

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)
);

Human sa paghimo og usa ka lamesa, sulayi nga pun-on kini sa pipila ka datos, sama sa mosunod.

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

Aron matan-aw ang datos nga gitipigan sa usa ka lamesa, mahimo nimong ipadagan ang usa ka SELECT command.

tecmint=> SELECT * FROM authors;

Mahimo nimong ilista ang tanang mga lamesa sa kasamtangan nga database gamit ang mosunod nga sugo.

tecmint=>\dt

Aron mapapas ang usa ka lamesa sa kasamtangan nga database, gamita ang DROP command.

tecmint=> DROP TABLE authors;

Aron ilista ang tanang mga database, gamita ang bisan unsa sa mosunod nga mga sugo.

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

Kung gusto nimong papason ang usa ka database, gamita ang DROP command, pananglitan.

tecmint=>DROP DATABASE tecmint;

Mahimo ka usab nga magbalhin gikan sa usa ka database ngadto sa lain nga dali gamit ang mosunud nga mando.

tecmint=>\connect database_name

Para sa dugang nga impormasyon, tan-awa ang PostgreSQL 10.4 Documentation.

Mao na sa pagkakaron! Niini nga artikulo, among gipatin-aw kon unsaon pag-instalar ug paggamit sa PostgreSQL database management system sa Ubuntu 18.04. Mahimo nimong ipadala kanamo ang imong mga pangutana o hunahuna sa mga komento.