Android

Hur man installerar postgresql på debian 10

Установка PostgreSQL 12 в Debian 10 "Buster"

Установка PostgreSQL 12 в Debian 10 "Buster"

Innehållsförteckning:

Anonim

PostgreSQL, ofta känd helt enkelt som Postgres, är ett öppet källkodsobjektrelativt databashanteringssystem. Den har många kraftfulla funktioner som online-säkerhetskopior, punktåterhämtning, kapslade transaktioner, SQL- och JSON-frågeställningar, multiversionskontroll för samtidighet (MVCC), asynkron replikering och mer.

Den här guiden leder dig genom stegen för installation av PostgreSQL-databasservern på Debian 10. Vi kommer också att utforska grunderna för grundläggande databasadministration.

Installera PostgreSQL

Vid skrivandet av denna artikel är den senaste versionen av PostgreSQL från Debian-standardförvarna PostgreSQL version 11.5.

För att installera PostgreSQL på din Debian-server utför du följande steg som root eller användare med sudo-privilegier:

  1. Börja med att uppdatera APT-paketets index:

    sudo apt update

    Installera PostgreSQL-servern och bidragspaketet som innehåller ytterligare funktioner för PostgreSQL-databasen:

    sudo apt install postgresql postgresql-contrib

    När installationen är klar startar PostgreSQL-tjänsten. För att verifiera installationen använder du psql verktyget för att skriva ut serverversionen:

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

    Utgången ska se ut som följande:

    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 är ett interaktivt terminalprogram som låter dig interagera med PostgreSQL-servern.

PostgreSQL-roller och autentiseringsmetoder

PostgreSQL hanterar behörigheter för databasåtkomst med hjälp av begreppet roller. Beroende på hur du ställer in rollen kan den representera en databasanvändare eller en grupp databasanvändare.

PostgreSQL stöder flera autentiseringsmetoder. De mest använda metoderna är:

  • Förtroende - En roll kan ansluta utan lösenord, så länge kriterierna som definieras i pg_hba.conf är uppfyllda. Passord - En roll kan anslutas genom att tillhandahålla ett lösenord. Lösenorden kan lagras som scram-sha-256 md5 och password (klartext) Ident - Stöds endast för TCP / IP-anslutningar. Det fungerar genom att hämta klientens användarnamn med operativsystem, med en valfri mappning för användarnamn. Peer - Samma som Ident, men det stöds endast på lokala anslutningar.

PostgreSQL-klientautentisering definieras i konfigurationsfilen med namnet pg_hba.conf . För lokala anslutningar är PostgreSQL inställd på att använda peer-autentiseringsmetoden.

"Postgres" -användaren skapas automatiskt när PostgreSQL är installerat. Den här användaren är superanvändaren för PostgreSQL-instansen och motsvarar MySQL-rootanvändaren.

För att logga in på PostgreSQL-servern som "postgres", byt till användarens postgres och åtkomst till en PostgreSQL-prompt med hjälp av psql verktyget:

sudo su - postgres psql

Härifrån kan du interagera med PostgreSQL-servern. För att avsluta PostgreSQL-skaltypen:

\q

Du kan använda sudo kommandot för att komma åt PostgreSQL-prompten utan att byta användare:

sudo -u postgres psql

postgres användaren används vanligtvis endast från localhost.

Skapa PostgreSQL-roll och databas

createuser kommandot createuser kan du skapa nya roller från kommandoraden. Endast superanvändare och roller med CREATEROLE privilegium kan skapa nya roller.

I följande exempel skapar vi en ny roll med namnet kylo , en databas som heter kylodb och ger behörigheter i databasen till rollen.

  1. Skapa först rollen genom att utfärda följande kommando:

    sudo su - postgres -c "createuser kylo"

    createdb databasen med kommandot createdb :

    sudo su - postgres -c "createdb kylodb"

    För att ge behörigheter till användaren i databasen, anslut till PostgreSQL-skalet:

    sudo -u postgres psql

    Kör följande fråga:

    grant all privileges on database kylodb to kylo;

Aktivera fjärråtkomst till PostgreSQL-servern

Som standard lyssnar PostgreSQL, servern endast på det lokala gränssnittet 127.0.0.1 .

Öppna konfigurationsfilen postgresql.conf och lägg till listen_addresses = '*' i avsnittet CONNECTIONS AND AUTHENTICATION . Detta instruerar servern att lyssna på alla nätverksgränssnitt.

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;

Spara filen och starta om PostgreSQL-tjänsten så att ändringar träder i kraft:

sudo service postgresql restart

Verifiera ändringarna med ss verktyget:

ss -nlt | grep 5432

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

Utgången ska visa att PostgreSQL-servern lyssnar på alla gränssnitt (0.0.0.0).

Det sista steget är att konfigurera servern för att acceptera fjärrinloggningar genom att redigera filen pg_hba.conf .

Nedan följer några exempel som visar olika användningsfall:

/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

Slutsats

Vi har visat dig hur du installerar och konfigurerar PostgreSQL på Debian 10. Mer information om detta ämne finns i PostgreSQL-dokumentationen.

debian postgresql-databas