Kif tinstalla u tuża PostgreSQL fuq Ubuntu 18.04


PostgreSQL (Postgres fil-qosor) huwa sors miftuħ, b'saħħtu, avvanzat, prestazzjoni għolja u stabbli sistema ta 'database ta' dokumenti relazzjonali. Juża u jsaħħaħ il-lingwa SQL flimkien ma 'numru kbir ta' karatteristiċi għall-ħażna u l-ġestjoni siguri tad-dejta.

Huwa effiċjenti, affidabbli u skalabbli għall-immaniġġjar ta 'volumi kbar u kkumplikati ta' dejta u t-twaqqif ta 'ambjenti ta' livell ta 'intrapriża u tolleranti għall-ħsarat, filwaqt li tiżgura integrità għolja tad-dejta. Postgres huwa wkoll estensibbli ħafna b'karatteristiċi bħal indiċi jiġi ma 'APIs sabiex tkun tista' tiżviluppa s-soluzzjonijiet tiegħek stess biex issolvi l-isfidi tal-ħażna tad-dejta tiegħek.

F'dan l-artikolu, se nispjegaw kif tinstalla PostgreSQL fuq server Ubuntu 18.04 (jaħdem ukoll fuq rilaxxi anzjani Ubuntu) u nitgħallmu xi modi bażiċi biex tużah.

Kif Tinstalla PostgreSQL fuq Ubuntu

L-ewwel, oħloq fajl /etc/apt/sources.list.d/pgdg.list li jaħżen il-konfigurazzjoni tar-repożitorju, imbagħad importa ċ-ċavetta tar-repożitorju fis-sistema tiegħek, aġġorna l-lista tal-pakketti tas-sistema tiegħek u installa l-pakkett Postgres billi tuża l-kmandi li ġejjin.

$ 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 

Ladarba postgres ikun ġie installat, is-servizz tad-database beda awtomatikament u tista 'tikkonferma billi ttajpja l-kmand li ġej.

$ sudo systemctl status postgresql.service

Kif tuża Rwoli u Databases ta' PostgreSQL

Fil-postgres, l-awtentikazzjoni tal-klijent hija kkontrollata mill-fajl tal-konfigurazzjoni /etc/postgresql/10/main/pg_hba.conf. Il-metodu ta' awtentikazzjoni default huwa \peer għall-amministratur tad-database, li jfisser li jieħu l-isem tal-utent tas-sistema operattiva tal-klijent mis-sistema operattiva u jiċċekkja jekk jaqbilx mal-isem tal-utent tad-database mitlub biex jippermetti aċċess, għal konnessjonijiet lokali (kif muri f'dan li ġej screenshot).

Matul il-proċess ta 'installazzjoni, kont ta' l-utent tas-sistema msejjaħ postgres inħoloq mingħajr password, dan huwa wkoll l-isem ta 'utent default ta' l-amministratur tad-database.

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

Barra minn hekk, taħt il-postgres database aċċess ġestjoni permessi hija mwettqa permezz ta 'rwoli. Rwol jista' jitqies jew bħala utent tad-database, jew grupp ta' utenti tad-database, skont kif jiġi stabbilit ir-rwol.

Ir-rwol default huwa wkoll postgres. Importanti, ir-rwoli tad-database huma konċettwalment kompletament mhux konnessi mal-utenti tas-sistema operattiva, iżda prattikament jistgħu ma jkunux separati (pereżempju meta niġu għall-awtentikazzjoni tal-klijenti).

Importanti, ir-rwoli jistgħu jippossjedu oġġetti tad-database, u jistgħu jassenjaw privileġġi fuq dawk l-oġġetti lil rwoli oħra biex jikkontrollaw min għandu aċċess għal liema oġġetti. Barra minn hekk, huwa possibbli li tingħata sħubija fi rwol għal rwol ieħor.

Biex tikkonfigura rwoli oħra biex tuża passwords encrypted biex timmaniġġja databases assenjati lilhom, minbarra r-rwol default postgres, trid tibdel il-linja għal.

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

Kif tuża PostgreSQL fuq Ubuntu

Ladarba kollox setup, tista 'taċċessa l-kont tas-sistema postgres bil-kmand li ġej, fejn il-bandiera -i tgħid lil sudo biex imexxi l-qoxra speċifikata mid-dħul tad-database tal-password tal-utent fil-mira bħala qoxra tal-login.

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

Biex taċċessa l-qoxra tal-postgres direttament, mingħajr ma l-ewwel taċċessa l-kont tal-utent tal-postgres, mexxi l-kmand li ġej.

$ sudo -i -u postgres psql

Tista 'tieqaf/toħroġ mill-postgres billi ttajpja l-kmand li ġej.

postgres=# \q

Oħloq rwol ta 'utent ġdid billi tuża l-kmand li ġej.

postgres=# CREATE ROLE tecmint;

Biex toħloq rwol b'attribut LOGIN, uża l-kmand li ġej (rwoli bl-attribut LOGIN jistgħu jitqiesu l-istess bħall-utenti tad-database).

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

Rwol jista 'jinħoloq ukoll b'password, dan huwa utli jekk ikkonfigurajt il-metodu ta' awtentikazzjoni tal-klijent biex titlob lill-utenti biex jipprovdu password encrypted meta tikkonnettja mad-database.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Biex telenka r-rwoli eżistenti tal-utent, uża kwalunkwe minn dawn il-kmandi.

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

Biex twaqqa' kwalunkwe rwol ta' utent eżistenti uża l-kmand DROP ROLE kif muri.

postgres=# DROP ROLE tecmint;

Ladarba tkun ħloqt rwol b'isem partikolari (per eżempju utent tecmint), tista' toħloq database (bl-istess isem tar-rwol) li tkun immaniġġjata minn dak ir-rwol kif muri.

postgres=# CREATE DATABASE tecmint;

Issa biex timmaniġġja d-database tecmint, aċċess għall-qoxra postgres bħala r-rwol tecmint, ipprovdi l-password tiegħek kif ġej.

$ sudo -i -u tecmint psql

Il-ħolqien ta 'tabelli huwa daqshekk faċli, se noħolqu tabella tat-test imsejħa awturi, li taħżen informazzjoni dwar l-awturi ta' TecMint.com, kif muri.

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

Wara li toħloq tabella, ipprova timlaha b'xi dejta, kif ġej.

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

Biex tara d-dejta maħżuna f'tabella, tista' tħaddem kmand SELECT.

tecmint=> SELECT * FROM authors;

Tista' telenka t-tabelli kollha fid-database kurrenti bil-kmand li ġej.

tecmint=>\dt

Biex tħassar tabella fid-database kurrenti, uża l-kmand DROP.

tecmint=> DROP TABLE authors;

Biex telenka d-databases kollha, uża kwalunkwe mill-kmandi li ġejjin.

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

Jekk trid tħassar database, uża l-kmand DROP, pereżempju.

tecmint=>DROP DATABASE tecmint;

Tista 'wkoll taqleb minn database għal oħra faċilment billi tuża l-kmand li ġej.

tecmint=>\connect database_name

Għal aktar informazzjoni, irreferi għad-Dokumentazzjoni ta' PostgreSQL 10.4.

Dak hu għalissa! F'dan l-artikolu, spjegajna kif tinstalla u tuża s-sistema ta 'ġestjoni tad-database PostgreSQL fuq Ubuntu 18.04. Tista' tibgħatilna l-mistoqsijiet jew il-ħsibijiet tiegħek fil-kummenti.