Android

Cum se instalează postgresql pe ubuntu 18.04

SQL - урок 1. Установка postgresql на Ubuntu 18.04.LTS.

SQL - урок 1. Установка postgresql на Ubuntu 18.04.LTS.

Cuprins:

Anonim

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

În acest tutorial, vă vom arăta cum să instalați PostgreSQL pe Ubuntu 18.04 și să explorați fundamentele administrării bazelor de date.

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 pe Ubuntu

La momentul scrierii acestui articol, ultima versiune a PostgreSQL disponibilă din depozitele oficiale Ubuntu este PostgreSQL versiunea 10.4.

Pentru a instala PostgreSQL pe serverul Ubuntu urmați pașii de mai jos:

  1. Instalarea PostgreSQL

    Actualizați indexul pachetului local și instalați serverul PostgreSQL împreună cu pachetul de contribuții PostgreSQL care oferă mai multe caracteristici suplimentare pentru baza de date PostgreSQL:

    sudo apt update sudo apt install postgresql postgresql-contrib

    Verificarea instalării PostgreSQL

    După terminarea instalării, serviciul PostgreSQL va începe automat.

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

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

psql este un utilitar interactiv al liniei de comandă care vă permite să interacționați cu serverul PostgreSQL.

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 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 sub forma scram-sha-256 md5 și password (text clar) Ident - 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 peer.

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 postarele utilizatorului și apoi puteți accesa un prompt PostgreSQL folosind utilitarul psql :

sudo su - postgres psql

De aici puteți interacționa cu instanța dvs. PostgreSQL. Pentru a ieși din tipul postgreSQL shell:

\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.

Crearea rolului și bazei de date PostgreSQL

Puteți crea noi roluri din linia de comandă folosind comanda createuser . 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. Creați un nou rol PostgreSQL

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

    sudo su - postgres -c "createuser john"

    Creați o nouă bază de date PostgreSQL

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

    sudo su - postgres -c "createdb johndb"

    Acordă privilegii

    Pentru a acorda permisiuni utilizatorului john din baza de date pe care am creat-o în pasul anterior, conectați-vă la shell-ul PostgreSQL:

    sudo -u postgres psql

    și executaț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 /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;

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

sudo service postgresql restart

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:

/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

Concluzie

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

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

baza de date ubuntu postgresql