Sådan installeres PostgreSQL-database i Debian 10


PostgreSQL (undertiden benævnt Postgres) er det mest avancerede open source generelle formål og objektrelationelle databasesystem med en dokumenteret arkitektur, der kører på alle større operativsystemer. Det er et højtydende, stabilt, skalerbart og udvideligt databasesystem, der giver fantastisk dataintegritet og understøtter kraftige tilføjelser.

Det er vigtigt, at PostgreSQL giver dig mulighed for at definere dine egne datatyper, tilføje brugerdefinerede funktioner, endda skrive kode fra forskellige programmeringssprog såsom C/C ++, Java osv. Uden at kompilere din database igen.

PostgreSQL bruges af kendte teknologivirksomheder som Apple, Fujitsu, Red Hat, Cisco, Juniper Network osv.

I denne artikel viser vi dig, hvordan du installerer, beskytter og konfigurerer PostgreSQL-databaseserver i Debian 10.

  1. Installer en Debian 10 (Buster) minimal server

Installation af PostgreSQL-server på Debian 10

For at installere PostgreSQL-databaseserver skal du bruge standard APT-pakkehåndtering, der installerer PostgreSQL 11-server og klient.

# apt install postgresql-11 postgresql-client-11

På Debian, ligesom alle andre dæmoner, initialiseres Postgres-databasen straks efter pakkeinstallationen er færdig som vist i det følgende skærmbillede.

For at kontrollere, om Postgres-databasen virkelig er initialiseret, kan du bruge hjælpeprogrammet pg_isready, der kontrollerer forbindelsesstatus for en PostgreSQL-server som følger.

# pg_isready 

Desuden startes Postgres-tjenesten under systemd også automatisk og aktiveres til start ved systemstart. For at sikre, at tjenesten fungerer godt, skal du køre følgende kommando.

# systemctl status postgresql

Følgende er andre nyttige systemctl-kommandoer til at administrere Postgres-tjenesten under systemd.

# systemctl start postgresql
# systemctl restart postgresql
# systemctl stop postgresql
# systemctl reload postgresql 		#this reloads the service configuration

Sikring og konfiguration af PostgreSQL-database

Som standard bruger Postgres konceptet roller til at administrere databaseadgangstilladelser, og databaseroller er konceptuelt helt adskilte fra operativsystembrugere. En rolle kan være en bruger eller en gruppe, og en rolle, der har login-ret, kaldes bruger.

Et nyt initialiseret system indeholder altid en foruddefineret rolle kaldet postgres, det har samme navn som operativsystemets brugerkonto kaldet postgres, som bruges til at få adgang til psql (Postgres shell) og andre databaseprogrammer.

Postgres-systemets brugerkonto er ikke beskyttet ved hjælp af en adgangskode. For at sikre den kan du oprette en adgangskode ved hjælp af passwd-værktøjet.

# passwd postgres

Postgres-rollen (eller en administrativ databasebruger, hvis du vil) er heller ikke sikret som standard. Du skal også sikre det med en adgangskode. Skift nu til postgres-systembrugerkontoen og postgres-rollen (husk at indstille en stærk og sikker adgangskode) som vist.

# su - postgres
# psql -c "ALTER USER postgres WITH PASSWORD 'securepass_here';"

Forlad derefter postgres-kontoen for at fortsætte med guiden.

Konfiguration af klientgodkendelse

Den primære Postgres-konfigurationsfil findes på /etc/postgresql/11/main/postgresql.conf. Ud over denne fil bruger Postgres to andre manuelt redigerede konfigurationsfiler, der styrer klientgodkendelse.

Klientgodkendelse styres af konfigurationsfilen /etc/postgresql/11/main/pg_hba.conf. Postgres giver mange forskellige klientgodkendelsesmetoder, herunder adgangskodebaseret godkendelse. Klientforbindelser godkendes baseret på klientværtsadresse, database og bruger.

Hvis du vælger at bruge adgangskodebaseret godkendelse, kan du implementere en af disse metoder: md5 eller adgangskode, der fungerer på samme måde bortset fra den måde, adgangskoden overføres på tværs af forbindelsen, henholdsvis MD5-hash og klar tekst.

Brug af md5-adgangskodeautentificering afskærer adgangskodesniffning af hackere og undgår at gemme adgangskoder på serveren i almindelig tekst. Adgangskodemetoden kan kun bruges sikkert, hvis forbindelsen er beskyttet af SSL-kryptering.

I denne vejledning viser vi, hvordan du konfigurerer md5-adgangskodeautentificering til klientgodkendelse.

# vim /etc/postgresql/11/main/pg_hba.conf 

Se efter følgende linje, og skift godkendelsesmetoden til md5 som vist på skærmbilledet.

local   all             all                                     md5

Gem ændringerne i filen, og afslut den. Anvend derefter de seneste ændringer ved at genstarte Postgres-tjenesten som følger.

# systemctl restart postgresql

Oprettelse af en ny database og database / rolle / bruger i PostgreSQL

I dette sidste afsnit vil vi vise, hvordan man opretter en ny databasebruger og en databaserolle til at styre den. Skift først til postgres-kontoen, og åbn Postgres-shell som følger.

# su - postgres
$ psql

For at oprette en database kaldet “test_db” skal du køre følgende SQL-kommando.

postgres=# CREATE DATABASE test_db;

Opret derefter en databasebruger (en rolle med loginrettigheder), der administrerer den nye database som følger.

postgres=#CREATE USER test_user PASSWORD ‘[email _here’;     #assumes login function by default

For at oprette forbindelse til test_db som bruger test_user skal du køre følgende kommando.

 
$ psql -d  test_db  -U test_user

For yderligere information, se PostgreSQL 11-dokumentationen.

Det er hvis for nu! I denne vejledning har vi vist, hvordan du installerer, beskytter og konfigurerer PostgreSQL-databaseserver i Debian 10. Har du spørgsmål eller tanker at dele? Brug kommentarformularen nedenfor for at nå os.