Hvordan installere og bruke PostgreSQL på Ubuntu 18.04


PostgreSQL (Postgres kort sagt) er et åpen kildekode, kraftig, avansert, høy ytelse og stabilt relasjonsdokumentdatabasesystem. Den bruker og forbedrer SQL-språket kombinert med et stort antall funksjoner for sikker datalagring og -administrasjon.

Den er effektiv, pålitelig og skalerbar for å håndtere store, kompliserte datavolumer og sette opp bedriftsnivå og feiltolerante miljøer, samtidig som den sikrer høy dataintegritet. Postgres er også svært utvidbar med funksjoner som indekser kommer med APIer slik at du kan utvikle dine egne løsninger for å løse dine datalagringsutfordringer.

I denne artikkelen vil vi forklare hvordan du installerer PostgreSQL på en Ubuntu 18.04-server (fungerer også på eldre Ubuntu-utgivelser) og lærer noen grunnleggende måter å bruke den på.

Hvordan installere PostgreSQL på Ubuntu

Opprett først en fil /etc/apt/sources.list.d/pgdg.list som lagrer depotkonfigurasjonen, importer deretter depotnøkkelen til systemet ditt, oppdater systempakkelisten og installer Postgres-pakken ved å bruke følgende kommandoer.

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 

Når postgres er installert, startet databasetjenesten automatisk, og du kan bekrefte ved å skrive følgende kommando.

sudo systemctl status postgresql.service

Hvordan bruke PostgreSQL-roller og databaser

I postgres kontrolleres klientautentisering av /etc/postgresql/10/main/pg_hba.conf konfigurasjonsfilen. Standard autentiseringsmetode er “peer ” for databaseadministratoren, noe som betyr at den henter klientens operativsystembrukernavn fra operativsystemet og sjekker om det samsvarer med det forespurte databasebrukernavnet for å tillate tilgang, for lokale tilkoblinger (som vist i følgende skjermbilde).

Under installasjonsprosessen ble en systembrukerkonto kalt postgres opprettet uten passord, dette er også standard brukernavn for databaseadministrator.

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

I tillegg, under postgres, utføres administrasjon av databasetilgang via roller. En rolle kan betraktes som enten en databasebruker eller en gruppe databasebrukere, avhengig av hvordan rollen er satt opp.

Standardrollen er også postgres. Viktigere er at databaseroller konseptuelt ikke er helt koblet til operativsystembrukere, men praktisk talt er de kanskje ikke atskilte (for eksempel når det gjelder klientautentisering).

Viktigere, roller kan eie databaseobjekter, og kan tildele privilegier på disse objektene til andre roller for å kontrollere hvem som har tilgang til hvilke objekter. I tillegg er det mulig å gi medlemskap i en rolle til en annen rolle.

For å konfigurere andre roller til å bruke krypterte passord for å administrere databaser som er tildelt dem, bortsett fra standard postgres-rolle, må du endre linjen til.

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

Hvordan bruke PostgreSQL på Ubuntu

Når alt er konfigurert, kan du få tilgang til postgres-systemkontoen med følgende kommando, der -i-flagget forteller sudo å kjøre skallet spesifisert av målbrukerens passorddatabaseoppføring som et påloggingsskall.

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

For å få tilgang til postgres-skallet direkte, uten først å få tilgang til postgres-brukerkontoen, kjør følgende kommando.

sudo -i -u postgres psql

Du kan avslutte/avslutte postgres ved å skrive følgende kommando.

postgres=# \q

Opprett PostgreSQL-databaseroller

Opprett en ny brukerrolle ved å bruke følgende kommando.

postgres=# CREATE ROLE tecmint;

For å opprette en rolle med et LOGIN-attributt, bruk følgende kommando (roller med LOGIN-attributtet kan betraktes som det samme som en databasebruker).

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

En rolle kan også opprettes med et passord, dette er nyttig hvis du konfigurerte klientautentiseringsmetoden til å be brukere om å oppgi et kryptert passord når de kobler til databasen.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

List opp eksisterende PostgreSQL-databaseroller

For å liste de eksisterende brukerrollene, bruk en av disse kommandoene.

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

Slipp en PostgreSQL-databaserolle

For å droppe en eksisterende brukerrolle, bruk DROP ROLE-kommandoen som vist.

postgres=# DROP ROLE tecmint;

Opprett en PostgreSQL-database

Når du har opprettet en rolle med et bestemt navn (for eksempel tecmint-bruker), kan du opprette en database (med samme navn som rollen) som vil bli administrert av den rollen som vist.

postgres=# CREATE DATABASE tecmint;

Nå for å administrere databasen tecmint, få tilgang til postgres-skallet som tecmint-rollen, oppgi passordet ditt som følger.

sudo -i -u tecmint psql

Lag en PostgreSQL-tabell

Å lage tabeller er så enkelt at vi lager en testtabell kalt forfattere, som lagrer informasjon om TecMint.com-forfattere, som vist.

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

Etter å ha opprettet en tabell, prøv å fylle den med noen data, som følger.

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

For å se dataene som er lagret i en tabell, kan du kjøre en SELECT-kommando.

tecmint=> SELECT * FROM authors;

List PostgreSQL-databasetabeller

Du kan liste alle tabellene i gjeldende database med følgende kommando.

tecmint=>\dt

Slett/slipp en PostgreSQL-tabell

For å slette en tabell i gjeldende database, bruk DROP-kommandoen.

tecmint=> DROP TABLE authors;

Vis alle PostgreSQL-databaser

For å liste alle databaser, bruk en av følgende kommandoer.

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

Slett/slipp en PostgreSQL-database

Hvis du vil slette en database, bruk for eksempel DROP-kommandoen.

tecmint=>DROP DATABASE tecmint;

Bytt til en annen PostgreSQL-database

Du kan også enkelt bytte fra en database til en annen ved å bruke følgende kommando.

tecmint=>\connect database_name

For mer informasjon, se PostgreSQL 10.4-dokumentasjonen.

Det var det for nå! I denne artikkelen har vi forklart hvordan du installerer og bruker PostgreSQL databasebehandlingssystem på Ubuntu 18.04. Du kan sende oss dine spørsmål eller tanker i kommentarfeltet.