Android

Cum se instalează postgresql pe debian 9

Ставим craftbukkit через McMyAdmin на хостинге FiveHost !

Ставим craftbukkit через McMyAdmin на хостинге FiveHost !

Cuprins:

Anonim

PostgreSQL, cunoscut adesea pur și simplu sub numele de Postgres, este un sistem de gestionare a bazelor de date relațional cu obiecte cu scop general, open-source. PostgreSQL are multe funcții avansate, cum ar fi backup-uri online, recuperare în timp, tranzacții cuibărite, interogare SQL și JSON, control de concurgență multi-versiune (MVCC), replicare asincronă și multe altele.

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

Cerințe preliminare

Înainte de a continua acest tutorial, asigurați-vă că utilizatorul la care v-ați conectat are drepturi sudo.

Instalarea PostgreSQL

La momentul scrierii acestui articol, cea mai recentă versiune a PostgreSQL disponibilă din depozitele Debian este PostgreSQL versiunea 9.6.

Pentru a instala PostgreSQL pe serverul dvs. Debian, urmați următorii pași:

  1. Începeți prin actualizarea indexului pachetului local:

    sudo apt update

    Instalați serverul PostgreSQL și pachetul de contribuții PostgreSQL care oferă funcții suplimentare pentru baza de date PostgreSQL:

    sudo apt install postgresql postgresql-contrib

    După finalizarea instalării, serviciul PostgreSQL va porni automat. Pentru a verifica instalarea, ne vom conecta la serverul de baze de date PostgreSQL folosind utilitatea psql și psql tipări versiunea serverului:

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

    Rezultatul va arăta astfel:

    version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)

Psql este un program terminal interactiv care vă permite să interacționați cu serverul PostgreSQL.

Role postgreSQL și metode de autentificare

PostgreSQL gestionează permisiunile de acces la baza de date folosind conceptul de roluri. Un rol poate reprezenta un utilizator al bazei de date sau un grup de utilizatori ai bazei de date.

PostgreSQL acceptă o serie de 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 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 utiliza comanda sudo pentru a accesa promptul PostgreSQL fără a comuta utilizatori:

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 PostgreSQL, serverul 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/9.6/main/postgresql.conf /etc/postgresql/9.6/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/9.6/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. Debian 9. Pentru mai multe informații despre acest subiect, consultați documentația PostgreSQL.

Baza de date postgresql debian