Sådan installeres og bruges PostgreSQL på Ubuntu 18.04


PostgreSQL (i korte træk Postgres) er et open source, kraftfuldt, avanceret, højtydende og stabilt relationsdokumentdatabasesystem. Det bruger og forbedrer SQL-sproget kombineret med et stort antal funktioner til sikker datalagring og -administration.

Det er effektivt, pålideligt og skalerbart til håndtering af store, komplicerede datamængder og opsætning af virksomhedsniveau og fejltolerante miljøer, samtidig med at der sikres høj dataintegritet. Postgres er også meget udvidelig med funktioner som indekser leveres med API'er, så du kan udvikle dine egne løsninger til at løse dine datalagringsudfordringer.

I denne artikel forklarer vi, hvordan du installerer PostgreSQL på en Ubuntu 18.04-server (fungerer også på ældre Ubuntu-udgivelser) og lærer nogle grundlæggende måder at bruge det på.

Sådan installeres PostgreSQL på Ubuntu

Opret først en fil /etc/apt/sources.list.d/pgdg.list, der gemmer arkivkonfigurationen, og importer derefter arkivnøglen til dit system, opdater din systempakkliste og installer Postgres-pakken ved hjælp af 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 installeret, startede databasetjenesten automatisk, og du kan bekræfte ved at skrive følgende kommando.

$ sudo systemctl status postgresql.service

Sådan bruges PostgreSQL-roller og databaser

I postgres styres klientgodkendelse af konfigurationsfilen /etc/postgresql/10/main/pg_hba.conf. Standardgodkendelsesmetoden er "peer" for databaseadministratoren, hvilket betyder, at den får klientens operativsystems brugernavn fra operativsystemet og kontrollerer, om det matcher det ønskede databasebrugernavn for at give adgang til lokale forbindelser (som vist i det følgende skærmbillede) ).

Under installationsprocessen blev der oprettet en systembrugerkonto kaldet postgres uden adgangskode, dette er også standardbrugernavnet til databaseadministratoren.

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

Derudover udføres databaseadgangstilladelse under postgres styring via roller. En rolle kan betragtes som enten en databasebruger eller en gruppe databasebrugere, afhængigt af hvordan rollen er indstillet.

Standardrollen er også postgres. Det er vigtigt, at databaseroller konceptuelt ikke er forbundet med operativsystembrugere, men praktisk talt er de muligvis ikke adskilte (for eksempel når det gælder klientgodkendelse).

Det er vigtigt, at roller kan eje databaseobjekter og kan tildele privilegier på disse objekter til andre roller for at kontrollere, hvem der har adgang til hvilke objekter. Derudover er det muligt at give medlemskab af en rolle til en anden rolle.

For at konfigurere andre roller til at bruge krypterede adgangskoder til at administrere databaser, der er tildelt dem, bortset fra standardrollen postgres, skal du ændre linjen til.

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

Sådan bruges PostgreSQL på Ubuntu

Når alt er konfigureret, kan du få adgang til postgres-systemkontoen med følgende kommando, hvor flaget -i fortæller sudo at køre den shell, der er angivet af målbrugerens adgangskodedatabaseindgang som en login-shell.

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

For at få adgang til postgres shell direkte uden først at få adgang til postgres brugerkontoen skal du køre følgende kommando.

$ sudo -i -u postgres psql

Du kan afslutte/afslutte postgres ved at skrive følgende kommando.

postgres=# \q

Opret en ny brugerrolle ved hjælp af følgende kommando.

postgres=# CREATE ROLE tecmint;

For at oprette en rolle med en LOGIN-attribut skal du bruge følgende kommando (roller med LOGIN-attributten kan betragtes som den samme som en database-bruger).

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

En rolle kan også oprettes med en adgangskode, dette er nyttigt, hvis du konfigurerede klientgodkendelsesmetoden til at bede brugerne om at angive en krypteret adgangskode, når de opretter forbindelse til databasen.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Brug en af disse kommandoer til at liste de eksisterende brugerroller.

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

For at fjerne enhver eksisterende brugerrolle skal du bruge kommandoen DROP ROLE som vist.

postgres=# DROP ROLE tecmint;

Når du har oprettet en rolle med et bestemt navn (for eksempel tecmint-bruger), kan du oprette en database (med samme navn som rollen), som styres af den rolle som vist.

postgres=# CREATE DATABASE tecmint;

For at administrere database tecmint skal du nu få adgang til postgres shell som tecmint-rollen. Angiv din adgangskode som følger.

$ sudo -i -u tecmint psql

Oprettelse af tabeller er så let, vi opretter en testtabel kaldet forfattere, der gemmer information 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)
);

Når du har oprettet en tabel, skal du prøve at udfylde den med nogle data som følger.

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

For at se de data, der er gemt i en tabel, kan du køre en SELECT-kommando.

tecmint=> SELECT * FROM authors;

Du kan liste alle tabeller i den aktuelle database med følgende kommando.

tecmint=>\dt

For at slette en tabel i den aktuelle database skal du bruge kommandoen DROP.

tecmint=> DROP TABLE authors;

Brug en af følgende kommandoer til at liste alle databaser.

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

Hvis du f.eks. Vil slette en database, skal du bruge kommandoen DROP.

tecmint=>DROP DATABASE tecmint;

Du kan også nemt skifte fra en database til en anden ved hjælp af følgende kommando.

tecmint=>\connect database_name

For yderligere oplysninger henvises til PostgreSQL 10.4-dokumentationen.

Det er det for nu! I denne artikel har vi forklaret, hvordan du installerer og bruger PostgreSQL-databasesystem på Ubuntu 18.04. Du kan sende os dine spørgsmål eller tanker i kommentarerne.