Android

Sådan installeres postgresql på ubuntu 18.04

Howto install Ambari on Ubuntu

Howto install Ambari on Ubuntu

Indholdsfortegnelse:

Anonim

PostgreSQL eller Postgres er et open source generelt-objekt-relationel databasestyringssystem. PostgreSQL har mange avancerede funktioner, der giver dig mulighed for at oprette komplekse webapplikationer.

I denne tutorial vil vi vise dig, hvordan du installerer PostgreSQL på Ubuntu 18.04 og udforske grundlæggende elementer i grundlæggende databaseadministration.

Forudsætninger

Før du fortsætter med denne tutorial, skal du sørge for, at du er logget ind som bruger med sudo-privilegier.

Installer PostgreSQL på Ubuntu

På det tidspunkt, hvor denne artikel skrives, er den nyeste version af PostgreSQL, der er tilgængelig fra de officielle Ubuntu-oplagringssteder, PostgreSQL version 10.4.

Følg nedenstående trin for at installere PostgreSQL på din Ubuntu-server:

  1. Installation af PostgreSQL

    Opdater det lokale pakkeindeks, og installer PostgreSQL-serveren sammen med PostgreSQL-bidragspakken, der indeholder flere ekstra funktioner til PostgreSQL-databasen:

    sudo apt update sudo apt install postgresql postgresql-contrib

    Verificering af PostgreSQL-installation

    Når installationen er afsluttet, starter PostgreSQL-tjenesten automatisk.

    For at verificere installationen vil vi forsøge at oprette forbindelse til PostgreSQL databaseserver ved hjælp af psql og udskrive serverversionen:

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

psql er et interaktivt kommandolinjeværktøj, der giver dig mulighed for at interagere med PostgreSQL-serveren.

PostgreSQL-roller og godkendelsesmetoder

Adgangstilladelser til databaser inden for PostgreSQL håndteres med begrebet roller. En rolle kan repræsentere en databasebruger eller en gruppe databasebrugere.

PostgreSQL understøtter flere godkendelsesmetoder. De mest anvendte 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 også få adgang til PostgreSQL-prompten uden at skifte brugere ved hjælp af kommandoen sudo :

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-serveren 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/10/main/postgresql.conf /etc/postgresql/10/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/10/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 Ubuntu 18.04-server.

Du kan læse PostgreSQL 10.4-dokumentationen for at få flere oplysninger om dette emne.

ubuntu postgresql-database