Android

Kako instalirati postgresql na centos 8

How to Install CentOS 7 on VirtualBox in Windows 8 / Windows 10

How to Install CentOS 7 on VirtualBox in Windows 8 / Windows 10

Sadržaj:

Anonim

PostgreSQL ili Postgres je otvoreni izvorni sustav upravljanja objektno-relacijskom bazom podataka opće namjene s mnogim naprednim značajkama koji vam omogućuje izgradnju okruženja ili složenih aplikacija otpornih na pogreške.

U ovom ćemo vodiču razgovarati o tome kako instalirati PostgreSQL poslužitelj baza podataka na CentOS 8. Prije nego što odaberete koju verziju instalirati, provjerite podržavaju li ga vaše aplikacije.

Također ćemo istražiti osnove PostgreSQL administracije baza podataka.

Preduvjeti

Da biste mogli instalirati pakete, morate biti prijavljeni kao root ili korisnik s sudo povlasticama.

Instaliranje PostgreSQL-a na CentOS 8

U vrijeme pisanja ovog članka dvije su verzije PostgreSQL poslužitelja dostupne za instalaciju iz standardnih CentOS-ovih spremišta: verzije 9.6 i 10.0.

Za popis dostupnih PostgreSQL tokova modula upišite:

dnf module list postgresql

Izlaz pokazuje da je postgresql modul dostupan s dva toka. Svaki stream ima dva profila: poslužitelj i klijent. Stream 10 sa profilnim poslužiteljem je zadani:

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. Da biste instalirali zadani stream, upišite PostgreSQL poslužitelj verzije 10.0:

    sudo dnf install @postgresql:10

    Da biste instalirali PostgreSQL poslužitelj verzije 9.6:

    sudo dnf install @postgresql:9.6

Možda želite instalirati i contrib paket koji pruža nekoliko dodatnih značajki za PostgreSQL bazu podataka:

sudo dnf install postgresql-contrib

Nakon dovršetka instalacije inicijalizirajte PostgreSQL bazu sa sljedećom naredbom:

sudo postgresql-setup initdb

Initializing database… OK

Pokrenite PostgreSQL uslugu i omogućite je da se pokrene pri pokretanju:

sudo systemctl enable --now postgresql

Pomoću alata psql provjerite instalaciju povezivanjem na poslužitelj baze podataka PostgreSQL i ispisujte njegovu verziju:

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 uloge i metode provjere autentičnosti

PostgreSQL obrađuje dopuštenja za pristup bazi podataka koristeći se konceptom uloga. Uloga može predstavljati korisnika baze podataka ili grupu korisnika baza podataka.

PostgreSQL podržava više metoda provjere autentičnosti. Najčešće korištene metode su:

  • Povjerenje - Uloga se može povezati bez lozinke, sve dok su ispunjeni uvjeti definirani u pg_hba.conf.Password - Uloga se može povezati unošenjem lozinke. Lozinke se mogu pohraniti u scram-sha-256 , md5 i password (jasan tekst). Identitet - Podržani su samo na TCP / IP vezama. Djeluje dobivanjem korisničkog imena klijentovog operativnog sustava, s neobaveznim mapiranjem korisničkog imena.Peer - Isto kao Ident, ali podržano je samo na lokalnim vezama.

PostgreSQL provjera klijenta definirana je u konfiguracijskoj datoteci pod nazivom pg_hba.conf . Za lokalne veze PostgreSQL je prema zadanim postavkama postavljen za upotrebu metode peer identiteta.

Korisnik postgres automatski se stvara kada instalirate PostgreSQL poslužitelj. Ovaj je korisnik superuzer za instancu PostgreSQL. To je ekvivalent korisniku MySQL korijena.

Da biste se prijavili na PostgreSQL poslužitelj kao postgres korisnik, prvo se prebacite na korisnika a zatim pristupite brzini PostgreSQL pomoću psql programa psql :

sudo su - postgres psql

Odavde možete komunicirati s instancom PostgreSQL. Da biste izašli iz ljuske PostgreSQL, upišite:

\q

Također možete pristupiti retgre PostgreSQL bez prebacivanja korisnika sudo :

sudo -u postgres psql

Korisnik postgres obično se koristi samo iz localhosta.

Stvaranje uloga i baze podataka PostgreSQL

Samo CREATEROLE i uloge s CREATEROLE privilegijom mogu stvoriti nove uloge.

U sljedećem ćemo primjeru stvoriti novu ulogu zvanu john , bazu podataka nazvanu johndb i dodijeliti povlastice bazi podataka.

  1. Prvo se povežite s ljuskom PostgreSQL:

    sudo -u postgres psql

    Kreirajte novu PostgreSQL ulogu pomoću sljedeće naredbe:

    create role john;

    Stvorite novu bazu podataka:

    create database johndb;

    Dodijelite povlastice korisniku u bazi podataka pokretanjem sljedećeg upita:

    grant all privileges on database johndb to john;

Omogućite udaljeni pristup PostgreSQL poslužitelju

PostgreSQL poslužitelj prema zadanim postavkama sluša samo na lokalnom sučelju 127.0.0.1 .

Da biste omogućili udaljeni pristup vašem PostgreSQL poslužitelju, otvorite konfiguracijsku datoteku:

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

Pomaknite se prema dolje do odjeljka CONNECTIONS AND AUTHENTICATION i dodajte / uredite sljedeći redak:

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

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

Spremite datoteku i ponovno pokrenite PostgreSQL uslugu sa:

sudo systemctl restart postgresql

Provjerite promjene uslužnim programom ss :

ss -nlt | grep 5432

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

Izlazni rezultat pokazuje da PostgreSQL poslužitelj sluša na zadanom priključku na svim sučeljima (0.0.0.0).

Posljednji korak je konfiguriranje poslužitelja za prihvaćanje udaljenih veza uređivanjem datoteke pg_hba.conf .

Ispod je nekoliko primjera koji prikazuju različite slučajeve uporabe:

/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

Zaključak

CentOS 8 nudi dvije PostgreSQL verzije: 9.6 i 10.0.

Za više informacija o ovoj temi posjetite PostgreSQL dokumentaciju

centos postgresql baze podataka