Kako instalirati i koristiti PostgreSQL na Ubuntu 18.04


PostgreSQL (ukratko Postgres) je moćan, napredan, visokoučinkovit i stabilan sustav baze podataka s relacijskim dokumentima otvorenog koda. Koristi i poboljšava SQL jezik zajedno s velikim brojem značajki za sigurnu pohranu i upravljanje podacima.

Učinkovit je, pouzdan i skalabilan za rukovanje velikim, kompliciranim količinama podataka i postavljanje okruženja otpornih na greške na razini poduzeća, dok osigurava visoku cjelovitost podataka. Postgres je također vrlo proširiv sa značajkama kao što su indeksi koji dolaze s API-jima tako da možete razviti vlastita rješenja za rješavanje izazova pohrane podataka.

U ovom ćemo članku objasniti kako instalirati PostgreSQL na poslužitelj Ubuntu 18.04 (radi i na starijim izdanjima Ubuntua) i naučiti neke osnovne načine kako ga koristiti.

Kako instalirati PostgreSQL na Ubuntu

Najprije kreirajte datoteku /etc/apt/sources.list.d/pgdg.list koja pohranjuje konfiguraciju repozitorija, zatim uvezite ključ repozitorija u svoj sustav, ažurirajte popis sistemskih paketa i instalirajte Postgres paket pomoću sljedećih naredbi.

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 

Nakon što je postgres instaliran, usluga baze podataka pokrenuta je automatski i možete potvrditi upisivanjem sljedeće naredbe.

sudo systemctl status postgresql.service

Kako koristiti PostgreSQL uloge i baze podataka

U postgresu, autentifikaciju klijenta kontrolira konfiguracijska datoteka /etc/postgresql/10/main/pg_hba.conf. Zadana metoda provjere autentičnosti je “peer” za administratora baze podataka, što znači da dobiva korisničko ime operativnog sustava klijenta od operativnog sustava i provjerava podudara li se sa traženim korisničkim imenom baze podataka kako bi se omogućio pristup, za lokalne veze (kao što je prikazano na sljedećoj snimci zaslona).

Tijekom procesa instalacije stvoren je korisnički račun sustava pod nazivom postgres bez lozinke, to je također zadano korisničko ime administratora baze podataka.

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

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

Zadana uloga također je postgres. Važno je da su uloge baze podataka konceptualno potpuno nepovezane s korisnicima operacijskog sustava, ali praktički ne moraju biti odvojene (na primjer kada je u pitanju provjera autentičnosti 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 za korištenje šifriranih lozinki za upravljanje bazama podataka koje su im dodijeljene, osim zadane postgres uloge, trebate promijeniti redak u.

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

Kako koristiti PostgreSQL na Ubuntuu

Nakon što je sve postavljeno, možete pristupiti računu postgres sustava sljedećom naredbom, gdje zastavica -i govori sudo da pokrene ljusku specificiranu unosom baze podataka zaporke ciljnog korisnika kao ljuska za prijavu.

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

Za izravan pristup postgres ljusci, bez prethodnog pristupa postgres korisničkom računu, pokrenite sljedeću naredbu.

sudo -i -u postgres psql

Možete zatvoriti/izaći iz postgresa upisivanjem sljedeće naredbe.

postgres=# \q

Stvorite PostgreSQL uloge baze podataka

Stvorite novu korisničku ulogu pomoću sljedeće naredbe.

postgres=# CREATE ROLE tecmint;

Za kreiranje uloge s atributom LOGIN koristite sljedeću naredbu (uloge s atributom LOGIN mogu se smatrati istim korisnicima baze podataka).

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

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

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Popis postojećih uloga 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;

Odbacite ulogu PostgreSQL baze podataka

Za ispuštanje bilo koje postojeće korisničke uloge upotrijebite naredbu ISPUSTI ULOGU kao što je prikazano.

postgres=# DROP ROLE tecmint;

Stvorite PostgreSQL bazu podataka

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

postgres=# CREATE DATABASE tecmint;

Sada za upravljanje bazom podataka tecmint pristupite ljusci postgres kao tecmint uloga, unesite svoju lozinku na sljedeći način.

sudo -i -u tecmint psql

Napravite PostgreSQL tablicu

Stvaranje tablica je tako jednostavno da ćemo izraditi testnu tablicu pod nazivom autori, koja pohranjuje 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 što izradite tablicu, pokušajte je popuniti nekim podacima, kako slijedi.

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

Za pregled podataka pohranjenih u tablici, možete pokrenuti naredbu SELECT.

tecmint=> SELECT * FROM authors;

Popis tablica baze podataka PostgreSQL

Sljedećom naredbom možete ispisati sve tablice u trenutnoj bazi podataka.

tecmint=>\dt

Brisanje/ispuštanje PostgreSQL tablice

Za brisanje tablice u trenutnoj bazi podataka upotrijebite naredbu DROP.

tecmint=> DROP TABLE authors;

Popis svih PostgreSQL baza 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

Brisanje/ispuštanje PostgreSQL baze podataka

Ako želite izbrisati bazu podataka, koristite naredbu DROP, na primjer.

tecmint=>DROP DATABASE tecmint;

Prijeđite na drugu PostgreSQL bazu podataka

Također se možete jednostavno prebaciti s jedne baze podataka na drugu pomoću sljedeće naredbe.

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 sustav za upravljanje bazom podataka na Ubuntu 18.04. Možete nam poslati svoje upite ili mišljenja u komentarima.