Android

Sådan installeres postgresql på debian 9

How to Install Debian 9 on VirtualBox

How to Install Debian 9 on VirtualBox

Indholdsfortegnelse:

Anonim

PostgreSQL, ofte kendt simpelt som Postgres, er et open-source generelt-objekt-relationel databasestyringssystem. PostgreSQL har mange avancerede funktioner, såsom online-sikkerhedskopieringer, gendannelse af tidspunkter, indlejrede transaktioner, SQL- og JSON-forespørgsel, multi-version concurrency control (MVCC), asynkron replikation og mere.

I denne tutorial vil vi vise dig, hvordan du installerer PostgreSQL på Debian 9 og undersøger de grundlæggende elementer i grundlæggende databaseadministration.

Forudsætninger

Før du fortsætter med denne tutorial, skal du sikre dig, at den bruger, du er logget på, har sudo-privilegier.

Installation af PostgreSQL

På dette tidspunkt, hvor denne artikel skrives, er den nyeste version af PostgreSQL, der er tilgængelig fra Debian-oplagrene, PostgreSQL version 9.6.

Følg følgende trin for at installere PostgreSQL på din Debian-server:

  1. Begynd med at opdatere det lokale pakkeindeks:

    sudo apt update

    Installer PostgreSQL-serveren og PostgreSQL-bidragspakken, som indeholder yderligere funktioner til PostgreSQL-databasen:

    sudo apt install postgresql postgresql-contrib

    Når installationen er afsluttet, starter PostgreSQL-tjenesten automatisk. For at verificere installationen psql vi forbindelse til PostgreSQL-databaseserveren ved hjælp af psql værktøjet og udskriver serverversionen:

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

    Outputet ser sådan ud:

    version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)

Psql er et interaktivt terminalprogram, der giver dig mulighed for at interagere med PostgreSQL-serveren.

PostgreSQL-roller og godkendelsesmetoder

PostgreSQL håndterer tilladelser til databaseadgang ved hjælp af begrebet roller. En rolle kan repræsentere en databasebruger eller en gruppe databasebrugere.

PostgreSQL understøtter en række godkendelsesmetoder. De mest almindeligt anvendte metoder er:

  • Tillid - Med denne metode kan rollen oprette forbindelse uden en adgangskode, så længe kriterierne, der er defineret i pg_hba.conf er opfyldt. Passord - En rolle kan oprette forbindelse ved at angive en adgangskode. Adgangskoderne kan gemmes som scram-sha-256 md5 og password (klartekst) Ident - Denne metode understøttes kun på TCP / IP-forbindelser. Arbejder ved at hente klientens operativsystemets brugernavn med en valgfri kortlægning af brugernavne. Peer - Samme som Ident, men det understøttes kun på lokale forbindelser.

PostgreSQL-klientgodkendelse defineres i konfigurationsfilen med navnet pg_hba.conf . Som standard for lokale forbindelser er PostgreSQL indstillet til at bruge peer-godkendelsesmetoden.

postgres brugeren oprettes automatisk, når du installerer PostgreSQL. Denne bruger er superbrugeren til PostgreSQL-forekomsten, og den svarer til MySQL-rodbrugeren.

For at logge ind på PostgreSQL-serveren som postgres-bruger skal du først skifte til brugerens postgres og derefter få adgang til en PostgreSQL-prompt vha. psql værktøjet:

sudo su - postgres psql

Herfra kan du interagere med din PostgreSQL-forekomst. Sådan afslutter du PostgreSQL-shell-typen:

\q

Du kan bruge sudo kommandoen til at få adgang til PostgreSQL-prompten uden at skifte brugere:

sudo -u postgres psql

postgres brugeren bruges typisk kun fra den lokale vært, og det anbefales ikke at indstille adgangskoden til denne bruger.

Oprettelse af PostgreSQL rolle og database

Du kan oprette nye roller fra kommandolinjen vha. Kommandoen createuser . Kun superbrugere og roller med CREATEROLE privilegium kan oprette nye roller.

I det følgende eksempel vil vi oprette en ny rolle, der hedder john en database med navnet johndb og give privilegier på databasen.

  1. Opret en ny PostgreSQL-rolle

    Følgende kommando opretter en ny rolle, der hedder john:

    sudo su - postgres -c "createuser john"

    Opret en ny PostgreSQL-database

    Opret en ny database ved navn johndb ved hjælp af kommandoen createb:

    sudo su - postgres -c "createdb johndb"

    Giv privilegier

    For at give tilladelser til john brugeren i den database, vi oprettede i det forrige trin, skal du oprette forbindelse til PostgreSQL-shell:

    sudo -u postgres psql

    og kør følgende forespørgsel:

    grant all privileges on database johndb to john;

Aktivér fjernadgang til PostgreSQL-server

Som standard lytter PostgreSQL, server kun til den lokale grænseflade 127.0.0.1 . For at aktivere fjernadgang til din PostgreSQL-server skal du åbne konfigurationsfilen postgresql.conf og tilføje listen_addresses = '*' i afsnittet CONNECTIONS AND AUTHENTICATION listen_addresses = '*' .

sudo vim /etc/postgresql/9.6/main/postgresql.conf /etc/postgresql/9.6/main/postgresql.conf

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

gem filen og genstart PostgreSQL-tjenesten med:

sudo service postgresql restart

Bekræft ændringerne med ss værktøjet:

ss -nlt | grep 5432

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

Som du kan se fra outputtet over lytter PostgreSQL-serveren på alle grænseflader (0.0.0.0).

Det sidste trin er at konfigurere serveren til at acceptere fjernforbindelser ved at redigere filen pg_hba.conf .

Nedenfor er nogle eksempler, der viser forskellige anvendelsessager:

/etc/postgresql/9.6/main/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using a 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 a 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

Konklusion

Du har lært, hvordan du installerer og konfigurerer PostgreSQL på din Debian 9-server. For mere information om dette emne, se PostgreSQL-dokumentationen.

debian postgresql-database