Kako instalirati i koristiti PostgreSQL na Ubuntu 18.04


PostgreSQL (Postgres ukratko) je open source, moćan, napredan, visokih performansi i stabilan sistem baze podataka relacijskih dokumenata. Koristi i unapređuje SQL jezik zajedno sa velikim brojem funkcija za sigurno skladištenje i upravljanje podacima.

Efikasan je, pouzdan i skalabilan za rukovanje velikim, komplikovanim količinama podataka i postavljanje okruženja na nivou preduzeća i tolerantnih na greške, istovremeno osiguravajući visok integritet podataka. Postgres je takođe veoma proširiv sa funkcijama kao što su indeksi koji dolaze sa API-jima tako da možete razviti sopstvena rešenja za rešavanje vaših izazova skladištenja podataka.

U ovom članku ćemo objasniti kako instalirati PostgreSQL na Ubuntu 18.04 server (takođe radi na starijim izdanjima Ubuntua) i naučiti neke osnovne načine da ga koristite.

Kako instalirati PostgreSQL na Ubuntu

Prvo kreirajte datoteku /etc/apt/sources.list.d/pgdg.list koja pohranjuje konfiguraciju spremišta, zatim uvezite ključ spremišta u vaš sistem, ažurirajte listu sistemskih paketa i instalirajte Postgres paket koristeći sljedeće komande.

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 

Jednom kada je postgres instaliran, usluga baze podataka je pokrenuta automatski i možete potvrditi upisivanjem sljedeće komande.

sudo systemctl status postgresql.service

Kako koristiti PostgreSQL uloge i baze podataka

U postgresu, autentifikaciju klijenta kontrolira /etc/postgresql/10/main/pg_hba.conf konfiguracijski fajl. Zadana metoda provjere autentičnosti je “peer ” za administratora baze podataka, što znači da dobija korisničko ime klijenta za operativni sistem od operativnog sistema i provjerava da li se podudara sa traženim korisničkim imenom baze podataka kako bi se omogućio pristup, za lokalne veze (kao što je prikazano na sljedećem snimku ekrana).

Tokom procesa instalacije, kreiran je sistemski korisnički nalog pod nazivom postgres bez lozinke, ovo je takođe podrazumevano korisničko ime administratora baze podataka.

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

Osim toga, pod postgres upravljanje dozvolama pristupa bazi podataka se vrši preko uloga. Uloga se može smatrati ili korisnikom baze podataka ili grupom korisnika baze podataka, ovisno o tome kako je uloga postavljena.

Zadana uloga je također postgres. Važno je da su uloge baze podataka konceptualno potpuno nepovezane sa korisnicima operativnog sistema, ali praktično ne moraju biti odvojene (na primjer kada je u pitanju autentikacija klijenta).

Važno je da uloge mogu posjedovati objekte baze podataka i mogu dodijeliti privilegije na te objekte drugim ulogama kako bi kontrolirale tko ima pristup kojim objektima. Osim toga, moguće je dodijeliti članstvo u ulozi drugoj ulozi.

Da biste konfigurirali druge uloge da koriste šifrirane lozinke za upravljanje bazama podataka koje su im dodijeljene, osim zadane postgres uloge, trebate promijeniti liniju u.

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

Kako koristiti PostgreSQL na Ubuntu

Kada se sve podesi, možete pristupiti postgres sistemskom nalogu sa sljedećom komandom, gdje oznaka -i govori sudo da pokrene ljusku specificiranu unosom baze podataka lozinki ciljnog korisnika kao ljuska za prijavu.

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

Za direktan pristup postgres shell-u, bez prethodnog pristupa postgres korisničkom računu, pokrenite sljedeću naredbu.

sudo -i -u postgres psql

Možete izaći iz postgresa tako što ćete otkucati sljedeću naredbu.

postgres=# \q

Kreirajte uloge PostgreSQL baze podataka

Kreirajte novu korisničku ulogu koristeći sljedeću naredbu.

postgres=# CREATE ROLE tecmint;

Da kreirate ulogu s atributom LOGIN, koristite sljedeću naredbu (uloge s atributom LOGIN mogu se smatrati istim kao i korisnici baze podataka).

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

Uloga se također može kreirati sa lozinkom, ovo je korisno ako ste konfigurirali metodu provjere autentičnosti klijenta da od korisnika traži da daju šifriranu lozinku prilikom povezivanja na bazu podataka.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Navedite postojeće uloge PostgreSQL baze podataka

Za popis postojećih korisničkih uloga koristite bilo koju od ovih naredbi.

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

Ispustite ulogu PostgreSQL baze podataka

Za ispuštanje bilo koje postojeće korisničke uloge koristite naredbu DROP ROLE kao što je prikazano.

postgres=# DROP ROLE tecmint;

Kreirajte PostgreSQL bazu podataka

Nakon što kreirate ulogu s određenim imenom (na primjer tecmint korisnik), možete kreirati bazu podataka (sa istim imenom kao i uloga) kojom će upravljati ta uloga kao što je prikazano.

postgres=# CREATE DATABASE tecmint;

Sada za upravljanje bazom podataka tecmint, pristupite postgres ljusci kao tecmint ulozi, unesite svoju lozinku kako slijedi.

sudo -i -u tecmint psql

Kreirajte PostgreSQL tabelu

Kreiranje tabela je tako jednostavno da ćemo kreirati probnu tabelu pod nazivom autori, koja čuva informacije o TecMint.com autorima, kao što je prikazano.

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

Nakon kreiranja tabele, pokušajte da je popunite nekim podacima, na sledeći način.

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

Da vidite podatke pohranjene u tabeli, možete pokrenuti naredbu SELECT.

tecmint=> SELECT * FROM authors;

Navedite tabele PostgreSQL baze podataka

Možete navesti sve tabele u trenutnoj bazi podataka sa sljedećom naredbom.

tecmint=>\dt

Izbrišite/ispustite PostgreSQL tabelu

Da izbrišete tabelu u trenutnoj bazi podataka, koristite naredbu DROP.

tecmint=> DROP TABLE authors;

Navedite sve PostgreSQL baze podataka

Za popis svih baza podataka koristite bilo koju od sljedećih naredbi.

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

Izbrišite/ispustite PostgreSQL bazu podataka

Ako želite da izbrišete bazu podataka, koristite naredbu DROP, na primjer.

tecmint=>DROP DATABASE tecmint;

Prebacite se na drugu PostgreSQL bazu podataka

Također možete lako prelaziti s jedne baze podataka na drugu koristeći sljedeću naredbu.

tecmint=>\connect database_name

Za više informacija pogledajte dokumentaciju za PostgreSQL 10.4.

To je to za sada! U ovom članku smo objasnili kako instalirati i koristiti PostgreSQL sistem upravljanja bazom podataka na Ubuntu 18.04. Možete nam poslati svoja pitanja ili mišljenja u komentarima.