Android

Cum se instalează postgresql pe centos 7

Configuración en terminal de Centos 7, para visualizar una pagina web desde otra maquina virtual.

Configuración en terminal de Centos 7, para visualizar una pagina web desde otra maquina virtual.

Cuprins:

Anonim

PostgreSQL sau Postgres este un sistem de gestionare a bazelor de date relațional cu obiecte generale cu sursă deschisă, cu multe funcții avansate, care vă permite să creați aplicații web complexe.

În acest tutorial, vă vom arăta două metode diferite despre cum să instalați PostgreSQL pe mașina dvs. CentOS 7. Prima metodă vă va parcurge pașii necesari pentru instalarea PostgreSQL v9.2.23 din depozitele CentOS, în timp ce a doua vă va arăta cum să instalați cea mai recentă versiune a PostgreSQL din depozitele oficiale PostgreSQL.

Dacă aplicația dvs. nu necesită cea mai recentă versiune, vă recomandăm să folosiți prima metodă și să instalați PostgreSQL din depozitele CentOS.

De asemenea, vom explora fundamentele administrării bazei de date PostgreSQL.

Cerințe preliminare

Înainte de a continua cu acest tutorial, asigurați-vă că sunteți autentificat ca utilizator cu privilegii sudo.

Instalați PostgreSQL din depozitele CentOS

În momentul scrierii acestui articol, cea mai recentă versiune a PostgreSQL disponibilă din depozitele CentOS este PostgreSQL versiunea 9.2.23.

Pentru a instala PostgreSQL pe serverul dvs. CentOS, urmați pașii de mai jos:

  1. Instalarea PostgreSQL

    Pentru a instala serverul PostgreSQL împreună cu pachetul de contribuții PostgreSQL care oferă mai multe caracteristici suplimentare pentru baza de date PostgreSQL, introduceți pur și simplu:

    sudo yum install postgresql-server postgresql-contrib

    Inițializarea bazei de date

    Inițializează baza de date PostgreSQL cu următoarea comandă:

    sudo postgresql-setup initdb

    Initializing database… OK

    Pornirea PostgreSQL

    Pentru a porni serviciul PostgreSQL și a-l activa pentru a porni la pornire, introduceți pur și simplu:

    sudo systemctl start postgresql sudo systemctl enable postgresql

    Verificarea instalării PostgreSQL

    Pentru a verifica instalarea, vom încerca să ne conectăm la serverul de baze de date PostgreSQL folosind instrumentul psql și să psql versiunea serverului:

    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 este un utilitar interactiv al liniei de comandă care ne permite să interacționăm cu serverul PostgreSQL.

Instalați PostgreSQL din depozitele PostgreSQL

În momentul scrierii acestui articol, cea mai recentă versiune a PostgreSQL disponibilă din depozitele oficiale PostgreSQL este PostgreSQL versiunea 10.4. Înainte de a continua cu pasul următor, trebuie să accesați pagina PostgreSQL Yum Repository și să verificați dacă există o nouă versiune disponibilă.

Urmați pașii de mai jos pentru a instala cea mai recentă versiune PostgreSQL pe serverul dvs. CentOS:

  1. Activarea depozitului PostgreSQL

    Pentru a activa depozitul PostgreSQL, instalați pur și simplu fișierul rpm al depozitului:

    sudo yum install

    Instalarea PostgreSQL

    Odată ce depozitul este activat, instalați serverul PostgreSQL și pachetele de contribuții PostgreSQL cu:

    sudo yum install postgresql10-server postgresql10-contrib

    Inițializarea bazei de date

    Pentru inițializarea tipului de bază de date PostgreSQL:

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

    Initializing database… OK

    Pornirea PostgreSQL

    Pentru a porni serviciul PostgreSQL și a-l activa pentru a porni de la tipul de pornire:

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

    Verificarea instalării PostgreSQL

    Pentru a verifica instalarea, vom încerca să ne conectăm la serverul de baze de date PostgreSQL folosind instrumentul psql și să psql versiunea serverului:

    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)

Role postgreSQL și metode de autentificare

Permisiunile de acces la bazele de date în PostgreSQL sunt gestionate cu conceptul de roluri. Un rol poate reprezenta un utilizator al bazei de date sau un grup de utilizatori ai bazei de date.

PostgreSQL acceptă mai multe metode de autentificare. Cele mai utilizate metode sunt:

  • Încredere - Cu această metodă, rolul se poate conecta fără parolă, atât timp cât criteriile definite în pg_hba.conf sunt îndeplinite.Password - Un rol se poate conecta furnizând o parolă. Parolele pot fi stocate ca scram-sha-256 md5 și password (text clar). Identificare - Această metodă este acceptată doar pe conexiunile TCP / IP. Funcționează obținând numele de utilizator al sistemului de operare al clientului, cu o mapare a numelui de utilizator opțional.Peer - La fel ca Ident, dar este acceptat doar pe conexiunile locale.

Autentificarea clientului PostgreSQL este definită în fișierul de configurare numit pg_hba.conf . În mod implicit, pentru conexiunile locale, PostgreSQL este setat să utilizeze metoda de autentificare de la egal la egal.

Utilizatorul postgres este creat automat atunci când instalați PostgreSQL. Acest utilizator este superuser pentru instanța PostgreSQL și este echivalent cu utilizatorul rădăcină MySQL.

Pentru a vă conecta la serverul PostgreSQL ca utilizator postgres, mai întâi trebuie să treceți la psql utilizatorului și apoi să accesați promptul PostgreSQL folosind utilitatea psql :

sudo su - postgres psql

De aici puteți interacționa cu instanța dvs. PostgreSQL. Pentru a ieși din shell-ul PostgreSQL, tastați:

\q

Puteți accesa promptul PostgreSQL fără a comuta utilizatori folosind comanda sudo :

sudo -u postgres psql

Utilizatorul postgres este folosit de obicei doar de la gazda locală și se recomandă să nu setați parola pentru acest utilizator.

Dacă ați instalat versiunea 10 PostgreSQL din depozitele oficiale PostgreSQL, va trebui să folosiți calea completă către binarul psql care este /usr/pgsql-10/bin/psql .

Crearea rolului și bazei de date PostgreSQL

Doar utilizatorii și rolurile cu privilegiul CREATEROLE pot crea noi roluri.

În exemplul următor, vom crea un nou rol numit john o bază de date numită johndb și johndb acorda privilegii pe baza de date.

  1. Conectați-vă la Shell PostgreSQL

    sudo -u postgres psql

    Creați un nou rol PostgreSQL

    Următoarea comandă va crea un nou rol numit john:

    create role john;

    Creați o nouă bază de date PostgreSQL

    Creați o nouă bază de date numită johndb folosind comanda createb:

    create database johndb;

    Acordă privilegii

    Pentru a acorda permisiuni utilizatorului john din baza de date pe care am creat-o în pasul anterior, rulați următoarea interogare:

    grant all privileges on database johndb to john;

Activați accesul la distanță la serverul PostgreSQL

În mod implicit, serverul PostgreSQL ascultă numai pe interfața locală 127.0.0.1 . Pentru a activa accesul la distanță la serverul dvs. PostgreSQL, deschideți fișierul de configurare postgresql.conf și adăugați listen_addresses = '*' în secțiunea listen_addresses = '*' CONNECTIONS AND AUTHENTICATION .

sudo vim /var/lib/pgsql/data/postgresql.conf Dacă executați versiunea PostgreSQL 10, calea către fișier este /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;

salvați fișierul și reporniți serviciul PostgreSQL cu:

sudo systemctl restart postgresql Dacă executați versiunea PostgreSQL 10, reporniți serviciul PostgreSQL cu systemctl restart postgresql-10 cu systemctl restart postgresql-10 .

Verificați modificările cu utilitarul ss :

ss -nlt | grep 5432

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

După cum puteți vedea din ieșirea de mai sus serverul PostgreSQL ascultă pe toate interfețele (0.0.0.0).

Ultimul pas este să configurați serverul să accepte conexiuni la distanță prin editarea fișierului pg_hba.conf .

Mai jos sunt câteva exemple care prezintă cazuri de utilizare diferite:

/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 Dacă executați PostgreSQL versiunea 10, calea completă către fișier este /var/lib/pgsql/10/data/pg_hba.conf .

Concluzie

Ați învățat cum să instalați și să configurați PostgreSQL pe serverul dvs. CentOS 7.

Puteți consulta documentația PostgreSQL pentru mai multe informații despre acest subiect.

baza de date centos postgresql