Hvordan installere PostgreSQL-databasen i Debian 10


PostgreSQL (noen ganger referert til som Postgres) er det mest avanserte databasesystemet med åpen kildekode for generell bruk og objektrelasjon med en velprøvd arkitektur som kjører på alle større operativsystemer. Det er et høyytelses, stabilt, skalerbart og utvidbart databasesystem som gir fantastisk dataintegritet og støtter kraftige tillegg.

Viktigere, PostgreSQL lar deg definere dine egne datatyper, legge til egendefinerte funksjoner, til og med skrive kode fra forskjellige programmeringsspråk som C/C++, Java, etc, uten å rekompilere databasen.

PostgreSQL brukes av kjente teknologiselskaper som Apple, Fujitsu, Red Hat, Cisco, Juniper Network, etc.

I denne artikkelen vil vi vise deg hvordan du installerer, sikrer og konfigurerer PostgreSQL databaseserver i Debian 10.

Krav:

  1. Installer en Debian 10 (Buster) Minimal Server

Installere PostgreSQL Server på Debian 10

For å installere PostgreSQL databaseserver, bruk standard APT-pakkebehandling, som vil installere PostgreSQL 11 server og klient.

apt install postgresql-11 postgresql-client-11

Debian, som alle andre demoner, initialiseres Postgres-databasen umiddelbart etter at pakkeinstallasjonen er fullført som vist i følgende skjermbilde.

For å sjekke om Postgres-databasen virkelig er initialisert, kan du bruke pg_isready-verktøyet som sjekker tilkoblingsstatusen til en PostgreSQL-server, som følger.

pg_isready 

Dessuten, under systemd, startes også Postgres-tjenesten automatisk og aktivert for å starte ved systemoppstart. For å sikre at tjenesten er oppe og kjører bra, kjør følgende kommando.

systemctl status postgresql

Følgende er andre nyttige systemctl-kommandoer for å administrere Postgres-tjenesten under systemd.

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

Sikring og konfigurering av PostgreSQL-database

Som standard bruker Postgres konseptet med roller for å administrere databasetilgangstillatelser, og databaseroller er konseptuelt fullstendig atskilt fra operativsystembrukere. En rolle kan være en bruker eller en gruppe, og en rolle som har påloggingsrett kalles bruker.

Et nylig initialisert system inneholder alltid én forhåndsdefinert rolle kalt postgres, den har samme navn som operativsystemets brukerkonto kalt postgres, som brukes til å få tilgang til psql (Postgres-skall) og andre databaseprogrammer.

Postgres-systemets brukerkonto er ikke beskyttet med et passord, for å sikre det kan du opprette et passord ved å bruke passwd-verktøyet.

passwd postgres

Rollen Postgres (eller administrativ databasebruker om du vil) er heller ikke sikret som standard. Du må også sikre den med et passord. Bytt nå til postgres-systembrukerkontoen og postgres-rollen (husk å angi et sterkt og sikkert passord) som vist.

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

Avslutt deretter postgres-kontoen for å fortsette med veiledningen.

Konfigurering av klientautentisering

Hovedkonfigurasjonsfilen for Postgres er plassert på /etc/postgresql/11/main/postgresql.conf. I tillegg til denne filen bruker Postgres to andre manuelt redigerte konfigurasjonsfiler, som kontrollerer klientautentisering.

Klientautentisering kontrolleres av /etc/postgresql/11/main/pg_hba.conf konfigurasjonsfilen. Postgres tilbyr mange forskjellige klientautentiseringsmetoder inkludert passordbasert autentisering. Klientforbindelser autentiseres basert på klientvertsadresse, database og bruker.

Hvis du velger å bruke passordbasert autentisering, kan du implementere en av disse metodene: md5 eller passord som fungerer på samme måte bortsett fra måten passordet overføres på tvers av tilkoblingen , nemlig henholdsvis MD5-hashed og klartekst.

Ved å bruke md5-passordautentisering unngås passordsniffing av hackere og unngår lagring av passord på serveren i ren tekst. Passordmetoden kan bare brukes sikkert hvis tilkoblingen er beskyttet av SSL-kryptering.

For denne veiledningen vil vi vise hvordan du konfigurerer md5-passordautentisering for klientautentisering.

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

Se etter følgende linje og endre autentiseringsmetoden til md5 som vist på skjermbildet.

local   all             all                                     md5

Lagre endringene i filen og avslutt den. Bruk deretter de siste endringene ved å starte Postgres-tjenesten på nytt som følger.

systemctl restart postgresql

Opprette en ny database og databaserolle/bruker i PostgreSQL

I denne siste delen vil vi vise hvordan du oppretter en ny databasebruker og en databaserolle for å administrere den. Bytt først til postgres-kontoen og åpne Postgres-skallet som følger.

su - postgres
psql

For å lage en database kalt “test_db ” kjør følgende SQL-kommando.

postgres=# CREATE DATABASE test_db;

Deretter oppretter du en databasebruker (en rolle med påloggingsrettigheter) som skal administrere den nye databasen som følger.

postgres=#CREATE USER test_user PASSWORD ‘securep@ss_here’;     #assumes login function by default

For å koble til test_db som brukeren test_user, kjør følgende kommando.

 
psql -d  test_db  -U test_user

For mer informasjon, se PostgreSQL 11-dokumentasjonen.

Konklusjon

Det er hvis for nå! I denne veiledningen har vi vist hvordan du installerer, sikrer og konfigurerer PostgreSQL databaseserver i Debian 10. Har du noen spørsmål eller tanker å dele? Bruk kommentarskjemaet nedenfor for å nå oss.