Android

Hvordan installere postgresql på debian 10

How to Install and configuration PostgreSQL on Ubuntu Linux

How to Install and configuration PostgreSQL on Ubuntu Linux

Innholdsfortegnelse:

Anonim

PostgreSQL, ofte kjent ganske enkelt som Postgres, er et åpen kildekode-relasjonsdatabaseadministrasjonssystem med generelle formål. Den har mange kraftige funksjoner som online sikkerhetskopiering, punktgjenoppretting, nestede transaksjoner, SQL- og JSON-spørring, multi-versjon concurrency control (MVCC), asynchronous replication, og mer.

Denne opplæringen leder deg gjennom trinnene for å installere PostgreSQL-databaseserveren på Debian 10. Vi vil også utforske grunnleggende grunnleggende databaseadministrasjon.

Installerer PostgreSQL

I skrivende stund skriver denne artikkelen, er den siste versjonen av PostgreSQL tilgjengelig fra standard Debian-depotene PostgreSQL versjon 11.5.

Slik installerer du PostgreSQL på Debian-serveren din som root eller bruker med sudo-rettigheter:

  1. Start med å oppdatere APT-pakkeindeksen:

    sudo apt update

    Installer PostgreSQL-serveren og bidragspakken som inneholder tilleggsfunksjoner for PostgreSQL-databasen:

    sudo apt install postgresql postgresql-contrib

    Når installasjonen er fullført, vil PostgreSQL-tjenesten starte. For å bekrefte installasjonen bruker du psql verktøyet til å skrive ut serverversjonen:

    sudo -u postgres psql -c "SELECT version();"

    Utdataene skal se ut som følgende:

    PostgreSQL 11.5 (Debian 11.5-1+deb10u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit

psql er et interaktivt terminalprogram som lar deg samhandle med PostgreSQL-serveren.

PostgreSQL-roller og autentiseringsmetoder

PostgreSQL håndterer tilgangsrettigheter for databaser ved å bruke begrepet roller. Avhengig av hvordan du setter opp rollen, kan den representere en databasebruker eller en gruppe databasebrukere.

PostgreSQL støtter flere autentiseringsmetoder. De mest brukte metodene er:

  • Tillit - En rolle kan koble seg uten passord, så lenge kriteriene som er definert i pg_hba.conf er oppfylt. Passord - En rolle kan koble seg ved å oppgi et passord. Passordene kan lagres som scram-sha-256 md5 og password (klartekst) Ident - Støttes bare for TCP / IP-tilkoblinger. Det fungerer ved å skaffe klientens brukernavn brukernavn, med en valgfri brukernavnskartlegging. Peer - Samme som Ident, men det støttes bare på lokale tilkoblinger.

PostgreSQL-klientgodkjenning er definert i konfigurasjonsfilen som heter pg_hba.conf . For lokale tilkoblinger er PostgreSQL satt til å bruke peer-autentiseringsmetoden.

"Postgres" -brukeren opprettes automatisk når PostgreSQL er installert. Denne brukeren er superbruker for PostgreSQL-forekomsten, og den tilsvarer MySQL-rotbrukeren.

For å logge på PostgreSQL-serveren som "postgres", bytter du til brukerens postgres og får tilgang til en PostgreSQL-ledetekst ved hjelp av psql verktøyet:

sudo su - postgres psql

Herfra kan du samhandle med PostgreSQL-serveren. Slik går du ut av PostgreSQL-skalltypen:

\q

Du kan bruke sudo kommandoen for å få tilgang til PostgreSQL-ledeteksten uten å bytte brukere:

sudo -u postgres psql

postgres brukeren brukes vanligvis bare fra localhost.

Opprette PostgreSQL rolle og database

createuser kommandoen lar deg opprette nye roller fra kommandolinjen. Bare superusere og roller med CREATEROLE privilegium kan lage nye roller.

I eksemplet kylo oppretter vi en ny rolle som heter kylo , en database kylodb og gir rettigheter på databasen til rollen.

  1. Først oppretter du rollen ved å utgi følgende kommando:

    sudo su - postgres -c "createuser kylo"

    Deretter lager du databasen ved å bruke kommandoen createdb :

    sudo su - postgres -c "createdb kylodb"

    For å gi tillatelser til brukeren i databasen, kobler du til PostgreSQL-skallet:

    sudo -u postgres psql

    Kjør følgende spørsmål:

    grant all privileges on database kylodb to kylo;

Aktiver ekstern tilgang til PostgreSQL-serveren

Som standard lytter PostgreSQL, server bare til det lokale grensesnittet 127.0.0.1 .

Åpne konfigurasjonsfilen postgresql.conf og legg til listen_addresses = '*' i delen CONNECTIONS AND AUTHENTICATION . Dette instruerer serveren til å lytte på alle nettverksgrensesnitt.

sudo nano /etc/postgresql/11/main/postgresql.conf /etc/postgresql/11/main/postgresql.conf

#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;

Lagre filen og start PostgreSQL-tjenesten på nytt for at endringer skal tre i kraft:

sudo service postgresql restart

Bekreft endringene med ss verktøyet:

ss -nlt | grep 5432

LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*

Utdataene skal vise at PostgreSQL-serveren lytter på alle grensesnitt (0.0.0.0).

Det siste trinnet er å konfigurere serveren til å godta ekstern pålogging ved å redigere filen pg_hba.conf .

Nedenfor er noen eksempler som viser forskjellige brukssaker:

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

# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using an md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using an md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust

Konklusjon

Vi har vist deg hvordan du installerer og konfigurerer PostgreSQL på Debian 10. For mer informasjon om dette emnet, se PostgreSQL-dokumentasjonen.

debian postgresql-database