Android

Sådan installeres postgresql på debian 10

How to Uninstall Programs on Mac | Permanently Delete Application on Mac

How to Uninstall Programs on Mac | Permanently Delete Application on Mac

Indholdsfortegnelse:

Anonim

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

Denne tutorial fører dig gennem trinnene til installation af PostgreSQL databaseserver på Debian 10. Vi undersøger også grundlæggende elementer i grundlæggende databaseadministration.

Installation af PostgreSQL

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

For at installere PostgreSQL på din Debian-server skal du udføre følgende trin som root eller bruger med sudo-privilegier:

  1. Start med at opdatere APT-pakkeindekset:

    sudo apt update

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

    sudo apt install postgresql postgresql-contrib

    Når installationen er afsluttet, starter PostgreSQL-tjenesten. For at verificere installationen skal du bruge psql værktøjet til at udskrive serverversionen:

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

    Outputet skal se sådan ud 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, 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. Afhængig af hvordan du konfigurerer rollen, kan den repræsentere en databasebruger eller en gruppe databasebrugere.

PostgreSQL understøtter flere godkendelsesmetoder. De mest anvendte metoder er:

  • Tillid - En rolle kan 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 - understøttes kun til TCP / IP-forbindelser. Det fungerer 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 . For lokale forbindelser er PostgreSQL indstillet til at bruge peer-godkendelsesmetoden.

Brugeren "postgres" oprettes automatisk, når PostgreSQL er installeret. Denne bruger er superbrugeren til PostgreSQL-forekomsten, og den svarer til MySQL-rodbrugeren.

Hvis du vil logge ind på PostgreSQL-serveren som "postgres", skal du skifte til brugerens postgres og få adgang til en PostgreSQL-prompt vha. psql værktøjet:

sudo su - postgres psql

Herfra kan du interagere med PostgreSQL-serveren. 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 localhost.

Oprettelse af PostgreSQL rolle og database

createuser kommandoen giver dig mulighed for at oprette nye roller fra kommandolinjen. Kun superbrugere og roller med CREATEROLE privilegium kan oprette nye roller.

I det følgende eksempel opretter vi en ny rolle, der hedder kylo , en database med navnet kylodb og giver privilegier på databasen til rollen.

  1. Opret først rollen ved at udstede følgende kommando:

    sudo su - postgres -c "createuser kylo"

    Opret derefter databasen vha. Kommandoen createdb :

    sudo su - postgres -c "createdb kylodb"

    For at give tilladelser til brugeren i databasen skal du oprette forbindelse til PostgreSQL-shell:

    sudo -u postgres psql

    Kør følgende forespørgsel:

    grant all privileges on database kylodb to kylo;

Aktivér fjernadgang til PostgreSQL-serveren

Som standard lytter PostgreSQL, serveren kun til den lokale grænseflade 127.0.0.1 .

Åbn konfigurationsfilen postgresql.conf og tilføj listen_addresses = '*' i afsnittet CONNECTIONS AND AUTHENTICATION listen_addresses = '*' . Dette instruerer serveren til at lytte på alle netværksgrænseflader.

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;

Gem filen og genstart PostgreSQL-tjenesten, så ændringerne træder i kraft:

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:*

Outputet skal vise, at PostgreSQL-serveren lytter på alle grænseflader (0.0.0.0).

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

Nedenfor er nogle eksempler, der viser forskellige anvendelsessager:

/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

Konklusion

Vi har vist dig, hvordan du installerer og konfigurerer PostgreSQL på Debian 10. For yderligere information om dette emne, se PostgreSQL-dokumentationen.

debian postgresql-database