Android

Sådan installeres postgresql på centos 8

Howto install Ambari on Ubuntu

Howto install Ambari on Ubuntu

Indholdsfortegnelse:

Anonim

PostgreSQL eller Postgres er et open-source generel objekt-relationel databasestyringssystem med mange avancerede funktioner, der giver dig mulighed for at oprette fejlagtolerante miljøer eller komplekse applikationer.

I denne vejledning drøfter vi, hvordan du installerer PostgreSQL databaseserver på CentOS 8. Før du vælger, hvilken version der skal installeres, skal du sørge for, at dine applikationer understøtter den.

Vi vil også udforske det grundlæggende i PostgreSQL-databaseadministration.

Forudsætninger

For at kunne installere pakker skal du være logget ind som root eller bruger med sudo-privilegier.

Installation af PostgreSQL på CentOS 8

På dette tidspunkt, hvor denne artikel skrives, er der to versioner af PostgreSQL-serveren, der er tilgængelige til installation fra standard CentOS-oplagerne: version 9.6 og 10.0.

Skriv en liste for de tilgængelige PostgreSQL-modulstrømme:

dnf module list postgresql

Outputet viser, at postgresql-modulet er tilgængeligt med to streams. Hver stream har to profiler: server og klient. Stream 10 med profilserveren er standard:

CentOS-8 - AppStream Name Stream Profiles Summary postgresql 10 client, server PostgreSQL server and client module postgresql 9.6 client, server PostgreSQL server and client module

  1. Hvis du vil installere standardstrømmen, type PostgreSQL-server version 10.0:

    sudo dnf install @postgresql:10

    Sådan installeres PostgreSQL-serverversion 9.6-typen:

    sudo dnf install @postgresql:9.6

Du ønsker måske også at installere contrib-pakken, der indeholder flere yderligere funktioner til PostgreSQL-databasen:

sudo dnf install postgresql-contrib

Når installationen er afsluttet, initialiseres PostgreSQL-databasen med følgende kommando:

sudo postgresql-setup initdb

Initializing database… OK

Start PostgreSQL-tjenesten, og aktiver den til at starte ved opstart:

sudo systemctl enable --now postgresql

Brug psql værktøjet til at verificere installationen ved at oprette forbindelse til PostgreSQL-databaseserveren og udskrive dens version:

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

PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit

PostgreSQL-roller og godkendelsesmetoder

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

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

  • Tillid - En rolle kan oprette forbindelse uden en adgangskode, så længe betingelserne 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 på TCP / IP-forbindelser. Det fungerer ved at hente klientens operativsystemets brugernavn med en valgfri brugernavnskortlægning. 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 som standard indstillet til at bruge peer-godkendelsesmetoden.

postgres brugeren oprettes automatisk, når du installerer PostgreSQL-serveren. Denne bruger er superbrugeren til PostgreSQL-forekomsten. Det svarer til MySQL root-bruger.

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

sudo su - postgres psql

Herfra kan du interagere med PostgreSQL-forekomsten. For at afslutte PostgreSQL-skalet, skal du skrive:

\q

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

sudo -u postgres psql

Typisk bruges postgres brugeren kun fra localhost.

Oprettelse af PostgreSQL rolle og database

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. Forbind først til PostgreSQL-shell:

    sudo -u postgres psql

    Opret en ny PostgreSQL-rolle vha. Følgende kommando:

    create role john;

    Opret en ny database:

    create database johndb;

    Giv privilegier til brugeren i databasen ved at køre 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:

sudo nano /var/lib/pgsql/data/postgresql.conf

Rul ned til sektionen CONNECTIONS AND AUTHENTICATION og tilføj / rediger følgende linje:

/var/lib/pgsql/data/postgresql.conf

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

Gem filen og genstart PostgreSQL-tjenesten med:

sudo systemctl restart postgresql

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 ovenfor viser, at PostgreSQL-serveren lytter på standardporten 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:

/var/lib/pgsql/data/pg_hba.conf

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

Konklusion

CentOS 8 leverer to PostgreSQL-versioner: 9.6 og 10.0.

For mere information om dette emne skal du besøge PostgreSQL-dokumentationen

centos postgresql-database