Android

Kako instalirati postgresql na centos 7

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 za upravljanje objektima i relacijskim bazama opće namjene s mnogim naprednim značajkama koji vam omogućuje stvaranje složenih web aplikacija.

U ovom ćemo vam vodiču pokazati dvije različite metode kako instalirati PostgreSQL na uređaj CentOS 7. Prva metoda će vas provesti kroz korake potrebne za instaliranje PostgreSQL v9.2.23 iz CentOS-ovih spremišta, a druga će vam pokazati kako instalirati najnoviju verziju PostgreSQL-a iz službenih PostgreSQL-ovih spremišta.

Ako vašoj aplikaciji nije potrebna najnovija inačica, preporučujemo korištenje prve metode i instaliranje PostgreSQL iz spremišta CentOS.

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

Preduvjeti

Prije nego što nastavite s ovim vodičem, provjerite jeste li prijavljeni kao korisnik s povlasticama sudo.

Instalirajte PostgreSQL iz spremišta CentOS

U vrijeme pisanja ovog članka, najnovija inačica PostgreSQL-a dostupna iz CentOS-ovih spremišta je PostgreSQL verzija 9.2.23.

Da biste instalirali PostgreSQL na poslužitelj CentOS, slijedite korake u nastavku:

  1. Instaliranje PostgreSQL-a

    Da biste instalirali PostgreSQL poslužitelj zajedno s paketom doprinosa PostgreSQL koji pruža nekoliko dodatnih značajki za PostgreSQL bazu podataka, jednostavno upišite:

    sudo yum install postgresql-server postgresql-contrib

    Inicijalizacija baze podataka

    Inicijalizirajte PostgreSQL bazu podataka sljedećom naredbom:

    sudo postgresql-setup initdb

    Initializing database… OK

    Pokretanje PostgreSQL-a

    Da biste pokrenuli PostgreSQL uslugu i omogućili joj pokretanje pri pokretanju, jednostavno upišite:

    sudo systemctl start postgresql sudo systemctl enable postgresql

    Provjera PostgreSQL instalacije

    Za provjeru instalacije pokušat ćemo se povezati s poslužiteljem baze podataka PostgreSQL pomoću psql alata i ispisati verziju poslužitelja:

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

    PostgreSQL 9.2.23 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit (1 row)

Psql je interaktivni program naredbenog retka koji nam omogućuje interakciju s PostgreSQL poslužiteljem.

Instalirajte PostgreSQL iz spremišta PostgreSQL

U vrijeme pisanja ovog članka, najnovija verzija PostgreSQL-a dostupna iz službenih PostgreSQL spremišta je PostgreSQL verzija 10.4. Prije nego što nastavite sa sljedećim korakom, posjetite PostgreSQL Yum Repository i provjerite postoji li nova verzija.

Slijedite korake u nastavku da biste na svoj CentOS poslužitelj instalirali najnoviju PostgreSQL verziju:

  1. Omogućavanje PostgreSQL spremišta

    Da biste omogućili PostgreSQL spremište, jednostavno instalirajte rpm datoteku spremišta:

    sudo yum install

    Instaliranje PostgreSQL-a

    Nakon što je spremište omogućeno, instalirajte PostgreSQL poslužitelj i pakete doprinosa PostgreSQL sa:

    sudo yum install postgresql10-server postgresql10-contrib

    Inicijalizacija baze podataka

    Da biste inicijalizirali vrstu baze podataka PostgreSQL:

    sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

    Initializing database… OK

    Pokretanje PostgreSQL-a

    Da biste pokrenuli PostgreSQL uslugu i omogućili joj da se pokrene pri pokretanju:

    sudo systemctl start postgresql-10 sudo systemctl enable postgresql-10

    Provjera PostgreSQL instalacije

    Za provjeru instalacije pokušat ćemo se povezati s poslužiteljem baze podataka PostgreSQL pomoću psql alata i ispisati verziju poslužitelja:

    sudo -u postgres /usr/pgsql-10/bin/psql -c "SELECT version();"

    PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit (1 row)

PostgreSQL uloge i metode provjere autentičnosti

Dozvole za pristup bazi podataka unutar PostgreSQL obrađuju se s 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 - Pomoću ove metode uloga se može povezati bez lozinke, pod uvjetom da su zadovoljeni kriteriji 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). IDENT - Ova metoda je podržana samo na TCP / IP vezama. Djeluje dobivanjem korisničkog imena operativnog sustava klijenta, s opcijskim preslikavanjem 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 kreira se automatski kada instalirate PostgreSQL. Ovaj je korisnik superuzer za PostgreSQL instancu i ekvivalentan je korijenskom korisniku MySQL.

Da biste se prijavili na PostgreSQL poslužitelj kao postgres korisnik, prvo se morate prebaciti na korisničke postgres i potom pristupiti brzini PostgreSQL pomoću psql programa psql :

sudo su - postgres psql

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

\q

Također možete pristupiti retgre PostgreSQL bez prebacivanja korisnika pomoću naredbe sudo :

sudo -u postgres psql

Korisnik postgres obično se koristi samo od lokalnog domaćina i preporučuje se ne postavljati lozinku za ovog korisnika.

Ako ste instalirali PostgreSQL verzije 10 iz službenih PostgreSQL spremišta, morat ćete koristiti puni put do psql binarne datoteke koja je /usr/pgsql-10/bin/psql .

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 baza podataka koja se zove johndb i dodijeliti povlastice bazi podataka.

  1. Spajanje na PostgreSQL školjku

    sudo -u postgres psql

    Izradite novu PostgreSQL ulogu

    Sljedeća naredba stvorit će novu ulogu zvanu john:

    create role john;

    Napravite novu PostgreSQL bazu podataka

    Stvorite novu bazu podataka pod nazivom johndb pomoću naredbe createdb :

    create database johndb;

    Dodijelite povlastice

    Da biste dodijelili dopuštenja korisniku john na bazi podataka koju smo stvorili u prethodnom koraku, pokrenite sljedeći upit:

    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 postgresql.conf i dodajte listen_addresses = '*' u odjeljak listen_addresses = '*' CONNECTIONS AND AUTHENTICATION .

sudo vim /var/lib/pgsql/data/postgresql.conf Ako pokrećete PostgreSQL verzije 10, put do datoteke je /var/lib/pgsql/10/data/postgresql.conf ./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 Ako pokrećete PostgreSQL verzije 10, ponovno pokrenite PostgreSQL uslugu sa systemctl restart postgresql-10 .

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

Kao što se vidi iz izlaza iznad PostgreSQL poslužitelja se preslušava 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 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 Ako pokrećete PostgreSQL verzije 10, puni put do datoteke je /var/lib/pgsql/10/data/pg_hba.conf .

Zaključak

Naučili ste kako instalirati i konfigurirati PostgreSQL na vašem CentOS 7 poslužitelju.

Možete potražiti PostgreSQL dokumentaciju za više informacija o ovoj temi.

centos postgresql baze podataka