PostgreSQL-i installimine ja kasutamine Ubuntu 18.04-s


PostgreSQL (lühidalt Postgres) on avatud lähtekoodiga, võimas, arenenud, suure jõudlusega ja stabiilne relatsioondokumentide andmebaasisüsteem. See kasutab ja täiustab SQL-keelt koos paljude funktsioonidega andmete turvaliseks salvestamiseks ja haldamiseks.

See on tõhus, usaldusväärne ja skaleeritav suurte, keerukate andmemahtude käitlemiseks ning ettevõtte tasemel ja tõrketaluvate keskkondade seadistamiseks, tagades samas andmete kõrge terviklikkuse. Postgres on väga laiendatav ka selliste funktsioonidega nagu näiteks indeksid on varustatud API-dega, et saaksite oma lahendusi oma andmesalvestuse probleemide lahendamiseks välja töötada.

Selles artiklis selgitame, kuidas installida PostgreSQL Ubuntu 18.04 serverisse (töötab ka vanematel Ubuntu versioonidel) ja õpime mõningaid põhilisi viise selle kasutamiseks.

Kuidas installida PostgreSQL Ubuntu

Kõigepealt looge hoidla konfiguratsiooni salvestav fail /etc/apt/sources.list.d/pgdg.list, seejärel importige hoidla võti oma süsteemi, värskendage süsteemipakettide loendit ja installige Postgresi pakett järgmiste käskude abil.

$ 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 

Kui postgres on installitud, alustas andmebaasiteenus automaatselt ja saate seda kinnitada, tippides järgmise käsu.

$ sudo systemctl status postgresql.service

Kuidas kasutada PostgreSQL-i rolle ja andmebaase

Postgresis kontrollib kliendi autentimist /etc/postgresql/10/main/pg_hba.conf konfiguratsioonifail. Vaikimisi on autentimismeetod andmebaasi administraatori jaoks "peer", mis tähendab, et see saab kliendi operatsioonisüsteemi kasutajanime operatsioonisüsteemist ja kontrollib, kas see vastab kohalike ühenduste jaoks juurdepääsu lubamiseks soovitud andmebaasi kasutajanimele (nagu on näidatud järgmises ekraanipilt).

Installiprotsessi käigus loodi paroolita süsteemi kasutajakonto nimega postgres, see on ka vaikimisi andmebaasi administraatori kasutajanimi.

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

Lisaks sellele toimub postgresi andmebaasis juurdepääsuõiguste haldamine rollide kaudu. Rolli võib pidada kas andmebaasi kasutajaks või andmebaasi kasutajate rühmaks, sõltuvalt sellest, kuidas roll on üles seatud.

Vaikeroll on ka postgres. Oluline on see, et andmebaasirollid pole kontseptuaalselt täielikult opsüsteemi kasutajatega ühendatud, kuid praktiliselt ei pruugi need olla eraldi (näiteks kui tegemist on kliendi autentimisega).

Oluline on see, et rollid võivad omada andmebaasi objekte ja määrata neile objektidele privileegid teistele rollidele, et kontrollida, kellel on millistele objektidele juurdepääs. Lisaks on võimalik anda rollile kuulumine teisele rollile.

Muude rollide konfigureerimiseks kasutama neile määratud andmebaaside haldamiseks krüptitud paroole, välja arvatud postgresi vaikeroll, peate muutma rida.

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

Kuidas kasutada PostgreSQL-i Ubuntu

Kui kõik on seadistatud, pääsete postgresi süsteemikontole juurde järgmise käsuga, kus lipp -i käsib sudol käivitada sihtkasutaja parooli andmebaasi sisestusega määratud kest sisselogimiskoorina.

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

Postgresi kestale otse juurde pääsemiseks käivitage järgmine käsk ilma postgresi kasutajakontole sisenemata.

$ sudo -i -u postgres psql

Postgresist saab väljuda/sellest väljuda, tippides järgmise käsu.

postgres=# \q

Uue kasutajarolli loomiseks kasutage järgmist käsku.

postgres=# CREATE ROLE tecmint;

Atribuudiga LOGIN rolli loomiseks kasutage järgmist käsku (atribuudiga LOGIN rolle võib pidada samaks kui andmebaasi kasutajaid).

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

Rolli saab luua ka parooliga. See on kasulik, kui olete konfigureerinud kliendi autentimismeetodi, et paluda kasutajatel andmebaasiga ühenduse loomisel krüptitud parool esitada.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Olemasolevate kasutajarollide loetlemiseks kasutage mõnda neist käskudest.

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

Olemasoleva kasutajarolli tühistamiseks kasutage käsku DROP ROLE, nagu näidatud.

postgres=# DROP ROLE tecmint;

Kui olete loonud kindla nimega rolli (näiteks tecmint user), saate luua andmebaasi (sama nimega nagu roll), mida see roll haldab, nagu näidatud.

postgres=# CREATE DATABASE tecmint;

Nüüd saate andmebaasi tecminti haldamiseks pääseda postgresi kesta kui tecminti rolli, sisestage oma parool järgmiselt.

$ sudo -i -u tecmint psql

Tabelite loomine on nii lihtne, loome testitabeli nimega autorid, mis salvestab teavet TecMint.com autorite kohta, nagu näidatud.

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

Pärast tabeli loomist proovige täita mõned andmed järgmiselt.

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

Tabelisse salvestatud andmete vaatamiseks võite käivitada käsu SELECT.

tecmint=> SELECT * FROM authors;

Järgmise käsuga saate loetleda kõik praeguse andmebaasi tabelid.

tecmint=>\dt

Tabeli kustutamiseks praegusest andmebaasist kasutage käsku DROP.

tecmint=> DROP TABLE authors;

Kõigi andmebaaside loetlemiseks kasutage mõnda järgmistest käskudest.

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

Kui soovite andmebaasi kustutada, kasutage näiteks käsku DROP.

tecmint=>DROP DATABASE tecmint;

Järgmise käsu abil saate hõlpsasti vahetada ka ühest andmebaasist teise.

tecmint=>\connect database_name

Lisateavet leiate PostgreSQL 10.4 dokumentatsioonist.

Praegu on see kõik! Selles artiklis oleme selgitanud, kuidas installida ja kasutada PostgreSQL-i andmebaaside haldussüsteemi Ubuntu 18.04-s. Oma küsimused või mõtted saate meile saata kommentaarides.