Kako namestiti in uporabljati PostgreSQL na Ubuntu 18.04


PostgreSQL (na kratko Postgres) je odprtokodni, zmogljiv, napreden, visoko zmogljiv in stabilen sistem zbirk podatkovnih dokumentov. Uporablja in izboljšuje jezik SQL, skupaj z velikim številom funkcij za varno shranjevanje in upravljanje podatkov.

Je učinkovit, zanesljiv in prilagodljiv za ravnanje z velikimi in zapletenimi količinami podatkov ter za nastavitev okolja na ravni podjetja in odpornih na napake, hkrati pa zagotavlja visoko celovitost podatkov. Postgres je tudi zelo razširljiv s funkcijami, kot so indeksi, ki imajo API -je, tako da lahko razvijete lastne rešitve za reševanje izzivov pri shranjevanju podatkov.

V tem članku bomo razložili, kako namestiti PostgreSQL na strežnik Ubuntu 18.04 (deluje tudi na starejših izdajah Ubuntu) in se naučiti nekaj osnovnih načinov njegove uporabe.

Kako namestiti PostgreSQL na Ubuntu

Najprej ustvarite datoteko /etc/apt/sources.list.d/pgdg.list, ki shrani konfiguracijo skladišča, nato pa uvozite ključ skladišča v svoj sistem, posodobite seznam sistemskih paketov in namestite paket Postgres z naslednjimi ukazi.

$ 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 

Ko je postgres nameščen, se je storitev zbirke podatkov samodejno zagnala in to lahko potrdite tako, da vnesete naslednji ukaz.

$ sudo systemctl status postgresql.service

Kako uporabljati vloge in baze podatkov PostgreSQL

V postgresu preverjanje pristnosti odjemalca nadzira konfiguracijska datoteka /etc/postgresql/10/main/pg_hba.conf. Privzeta metoda preverjanja pristnosti je\"enakovredna \" za skrbnika zbirke podatkov, kar pomeni, da od operacijskega sistema dobi uporabniško ime odjemalčevega operacijskega sistema in preveri, ali se ujema z zahtevanim uporabniškim imenom baze podatkov, da omogoči dostop za lokalne povezave (kot je prikazano v nadaljevanju posnetek zaslona).

Med postopkom namestitve je bil ustvarjen sistemski uporabniški račun, imenovan postgres, brez gesla, to je tudi privzeto uporabniško ime skrbnika baze podatkov.

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

Poleg tega se pod dovoljenji za dostop do baze podatkov postgres upravlja z vlogami. Glede na to, kako je vloga nastavljena, lahko vlogo obravnavamo kot uporabnika zbirke podatkov ali kot skupino uporabnikov zbirke podatkov.

Privzeta vloga je tudi postgres. Pomembno je, da so vloge zbirk podatkov konceptualno popolnoma nepovezane z uporabniki operacijskega sistema, vendar praktično niso ločene (na primer pri preverjanju pristnosti odjemalca).

Pomembno je, da imajo vloge lastnike objektov zbirke podatkov in lahko drugim vlogam dodelijo privilegije za te predmete, da nadzorujejo, kdo ima dostop do katerih predmetov. Poleg tega je možno dodeliti članstvo v vlogi drugi vlogi.

Če želite druge vloge konfigurirati za uporabo šifriranih gesel za upravljanje z dodeljenimi bazami podatkov, morate poleg privzete vloge postgres spremeniti vrstico v.

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

Kako uporabljati PostgreSQL v Ubuntuju

Ko je vse nastavljeno, lahko dostopate do sistemskega računa postgres z naslednjim ukazom, pri katerem zastavica -i sudo pove, naj zažene lupino, ki jo določi vnos v zbirki podatkov gesla ciljnega uporabnika kot lupino za prijavo.

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

Za neposreden dostop do lupine postgres brez prvega dostopa do uporabniškega računa postgres zaženite naslednji ukaz.

$ sudo -i -u postgres psql

Postgres lahko zaprete/zapustite tako, da vnesete naslednji ukaz.

postgres=# \q

Ustvarite novo uporabniško vlogo z naslednjim ukazom.

postgres=# CREATE ROLE tecmint;

Če želite ustvariti vlogo z atributom LOGIN, uporabite naslednji ukaz (vloge z atributom LOGIN se lahko štejejo za iste kot uporabniki baze podatkov).

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

Vlogo lahko ustvarite tudi z geslom, kar je uporabno, če ste način preverjanja pristnosti odjemalca konfigurirali tako, da od uporabnikov zahteva, da pri povezovanju z bazo podatkov vnesejo šifrirano geslo.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Za seznam obstoječih uporabniških vlog uporabite katerega koli od teh ukazov.

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

Če želite opustiti obstoječo uporabniško vlogo, uporabite ukaz DROP ROLE, kot je prikazano.

postgres=# DROP ROLE tecmint;

Ko ustvarite vlogo z določenim imenom (na primer uporabnik tecmint), lahko ustvarite bazo podatkov (z istim imenom kot vloga), ki jo bo upravljala ta vloga, kot je prikazano.

postgres=# CREATE DATABASE tecmint;

Zdaj za upravljanje baze podatkov tecmint, dostopajte do lupine postgres kot vloge tecmint, podajte geslo na naslednji način.

$ sudo -i -u tecmint psql

Ustvarjanje tabel je tako preprosto, da bomo ustvarili preskusno tabelo z imenom avtorji, ki shranjuje podatke o avtorjih TecMint.com, kot 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)
);

Ko ustvarite tabelo, jo poskusite napolniti z nekaterimi podatki, kot sledi.

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

Za ogled podatkov, shranjenih v tabeli, lahko zaženete ukaz SELECT.

tecmint=> SELECT * FROM authors;

Vse tabele v trenutni zbirki podatkov lahko navedete z naslednjim ukazom.

tecmint=>\dt

Če želite izbrisati tabelo v trenutni zbirki podatkov, uporabite ukaz DROP.

tecmint=> DROP TABLE authors;

Za seznam vseh baz podatkov uporabite katerega koli od naslednjih ukazov.

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

Če želite izbrisati bazo podatkov, uporabite na primer ukaz DROP.

tecmint=>DROP DATABASE tecmint;

Z naslednjim ukazom lahko tudi preprosto preklopite iz ene baze podatkov v drugo.

tecmint=>\connect database_name

Za več informacij glejte dokumentacijo PostgreSQL 10.4.

To je to zaenkrat! V tem članku smo razložili, kako namestiti in uporabljati sistem za upravljanje baz podatkov PostgreSQL na Ubuntu 18.04. V komentarjih nam lahko pošljete svoja vprašanja ali razmišljanja.