Cum se instalează și se utilizează PostgreSQL pe Ubuntu 18.04


PostgreSQL (Postgres pe scurt) este un sistem de baze de date de documente relaționale, puternic, avansat, de înaltă performanță și stabil. Folosește și îmbunătățește limbajul SQL împreună cu un număr mare de caracteristici pentru stocarea și gestionarea în siguranță a datelor.

Este eficient, fiabil și scalabil pentru a gestiona volume mari și complicate de date și pentru a configura medii la nivel de întreprindere și tolerante la erori, asigurând în același timp o integritate ridicată a datelor. Postgres este, de asemenea, foarte extensibil, cu funcții precum indexurile, care vine cu API-uri, astfel încât să vă puteți dezvolta propriile soluții pentru a rezolva provocările de stocare a datelor.

În acest articol, vom explica cum să instalați PostgreSQL pe un server Ubuntu 18.04 (funcționează și pe versiunile mai vechi Ubuntu) și vom afla câteva modalități de bază de a-l folosi.

Cum se instalează PostgreSQL pe Ubuntu

Mai întâi, creați un fișier /etc/apt/sources.list.d/pgdg.list care stochează configurația depozitului, apoi importați cheia depozitului în sistemul dvs., actualizați lista de pachete de sistem și instalați pachetul Postgres folosind următoarele comenzi.

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 

Odată ce postgres a fost instalat, serviciul de bază de date a pornit automat și puteți confirma tastând următoarea comandă.

sudo systemctl status postgresql.service

Cum să utilizați rolurile și bazele de date PostgreSQL

În postgres, autentificarea clientului este controlată de fișierul de configurare /etc/postgresql/10/main/pg_hba.conf. Metoda implicită de autentificare este „peer” pentru administratorul bazei de date, ceea ce înseamnă că primește numele de utilizator al sistemului de operare al clientului de la sistemul de operare și verifică dacă se potrivește cu numele de utilizator al bazei de date solicitat pentru a permite accesul, pentru conexiunile locale (după cum se arată în următoarea captură de ecran).

În timpul procesului de instalare, un cont de utilizator de sistem numit postgres a fost creat fără o parolă, acesta fiind și numele de utilizator implicit al administratorului bazei de date.

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

În plus, sub postgres gestionarea permisiunilor de acces la baza de date se realizează prin roluri. Un rol poate fi considerat fie un utilizator al bazei de date, fie un grup de utilizatori ai bazei de date, în funcție de modul în care este configurat rolul.

Rolul implicit este, de asemenea, postgres. Important, rolurile bazei de date sunt conceptual complet neconectate la utilizatorii sistemului de operare, dar practic ele nu pot fi separate (de exemplu, când vine vorba de autentificarea clientului).

Important, rolurile pot deține obiecte de bază de date și pot atribui privilegii asupra acestor obiecte altor roluri pentru a controla cine are acces la ce obiecte. În plus, este posibil să acordați calitatea de membru într-un rol unui alt rol.

Pentru a configura alte roluri pentru a utiliza parole criptate pentru a gestiona bazele de date alocate acestora, în afară de rolul implicit postgres, trebuie să schimbați linia în.

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

Cum să utilizați PostgreSQL pe Ubuntu

Odată ce totul a fost configurat, puteți accesa contul de sistem postgres cu următoarea comandă, unde indicatorul -i îi spune sudo să ruleze shell-ul specificat de intrarea în baza de date a parolei utilizatorului țintă ca un shell de conectare.

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

Pentru a accesa direct shell-ul postgres, fără a accesa mai întâi contul de utilizator postgres, rulați următoarea comandă.

sudo -i -u postgres psql

Puteți părăsi/ieși din postgres tastând următoarea comandă.

postgres=# \q

Creați roluri de bază de date PostgreSQL

Creați un nou rol de utilizator utilizând următoarea comandă.

postgres=# CREATE ROLE tecmint;

Pentru a crea un rol cu un atribut LOGIN, utilizați următoarea comandă (rolurile cu atributul LOGIN pot fi considerate la fel ca utilizatorii bazei de date).

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

Un rol poate fi creat și cu o parolă, acest lucru este util dacă ați configurat metoda de autentificare a clientului pentru a le cere utilizatorilor să furnizeze o parolă criptată atunci când se conectează la baza de date.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Listați rolurile existente în baza de date PostgreSQL

Pentru a lista rolurile de utilizator existente, utilizați oricare dintre aceste comenzi.

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

Eliminați un rol de bază de date PostgreSQL

Pentru a renunța la orice rol de utilizator existent, utilizați comanda DROP ROLE așa cum se arată.

postgres=# DROP ROLE tecmint;

Creați o bază de date PostgreSQL

După ce ați creat un rol cu un anumit nume (de exemplu, utilizator tecmint), puteți crea o bază de date (cu același nume cu rolul) care va fi gestionată de rolul respectiv, așa cum se arată.

postgres=# CREATE DATABASE tecmint;

Acum, pentru a gestiona baza de date tecmint, accesați shell-ul postgres ca rol tecmint, furnizați parola după cum urmează.

sudo -i -u tecmint psql

Creați un tabel PostgreSQL

Crearea tabelelor este atât de ușoară, încât vom crea un tabel de testare numit autori, care stochează informații despre autorii TecMint.com, așa cum se arată.

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

După crearea unui tabel, încercați să îl completați cu câteva date, după cum urmează.

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

Pentru a vizualiza datele stocate într-un tabel, puteți rula o comandă SELECT.

tecmint=> SELECT * FROM authors;

Listați tabelele bazei de date PostgreSQL

Puteți lista toate tabelele din baza de date curentă cu următoarea comandă.

tecmint=>\dt

Ștergeți/Aruncați un tabel PostgreSQL

Pentru a șterge un tabel din baza de date curentă, utilizați comanda DROP.

tecmint=> DROP TABLE authors;

Listați toate bazele de date PostgreSQL

Pentru a lista toate bazele de date, utilizați oricare dintre următoarele comenzi.

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

Ștergeți/eliminați o bază de date PostgreSQL

Dacă doriți să ștergeți o bază de date, utilizați comanda DROP, de exemplu.

tecmint=>DROP DATABASE tecmint;

Comutați la o altă bază de date PostgreSQL

De asemenea, puteți trece cu ușurință de la o bază de date la alta folosind următoarea comandă.

tecmint=>\connect database_name

Pentru mai multe informații, consultați documentația PostgreSQL 10.4.

Atât deocamdată! În acest articol, am explicat cum să instalați și să utilizați sistemul de gestionare a bazelor de date PostgreSQL pe Ubuntu 18.04. Ne puteți trimite întrebările sau gândurile dvs. în comentarii.