Android

Cum se instalează postgresql pe debian 10

Ставим 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. Are multe funcții puternice, 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.

Acest tutorial vă parcurge etapele instalării serverului de baze de date PostgreSQL pe Debian 10. De asemenea, vom explora fundamentele administrării bazelor de date de bază.

Instalarea PostgreSQL

În momentul scrierii acestui articol, ultima versiune a PostgreSQL disponibilă din depozitele Debian implicite este PostgreSQL versiunea 11.5.

Pentru a instala PostgreSQL pe serverul dvs. Debian, urmați următorii pași ca root sau utilizator cu privilegii sudo:

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

    sudo apt update

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

    sudo apt install postgresql postgresql-contrib

    După terminarea instalării, serviciul PostgreSQL va începe. Pentru a verifica instalarea, utilizați instrumentul psql pentru a imprima versiunea serverului:

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

    Rezultatul ar trebui să semene cu următoarele:

    PostgreSQL 11.5 (Debian 11.5-1+deb10u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit

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. În funcție de modul în care configurați rolul, acesta 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 - Un rol se poate conecta fără parolă, atât timp cât sunt îndeplinite criteriile definite în pg_hba.conf.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 - acceptat numai pentru 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 . Pentru conexiunile locale, PostgreSQL este setat să utilizeze metoda de autentificare peer.

Utilizatorul „postgres” este creat automat la instalarea PostgreSQL. Acest utilizator este superusorul pentru instanța PostgreSQL și este echivalent cu cel rădăcină MySQL.

Pentru a vă conecta la serverul PostgreSQL ca „postgres”, treceți la psql utilizatorului și accesați un prompt PostgreSQL folosind utilitarul psql :

sudo su - postgres psql

De aici puteți interacționa cu serverul 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 din localhost.

Crearea rolului și bazei de date PostgreSQL

Comanda createuser vă permite să creați noi roluri din linia de comandă. Doar utilizatorii și rolurile cu privilegiul CREATEROLE pot crea noi roluri.

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

  1. Mai întâi, creați rolul emitând următoarea comandă:

    sudo su - postgres -c "createuser kylo"

    Apoi, creați baza de date folosind comanda createdb :

    sudo su - postgres -c "createdb kylodb"

    Pentru a acorda permisiuni utilizatorului din baza de date, conectați-vă la shell-ul PostgreSQL:

    sudo -u postgres psql

    Execută următoarea interogare:

    grant all privileges on database kylodb to kylo;

Activați accesul la distanță la serverul PostgreSQL

În mod implicit, serverul PostgreSQL, ascultă numai pe interfața locală 127.0.0.1 .

Deschide fișierul de configurare postgresql.conf și adaugă listen_addresses = '*' în secțiunea listen_addresses = '*' CONNECTIONS AND AUTHENTICATION . Acest lucru instruiește serverul să asculte pe toate interfețele de rețea.

sudo nano /etc/postgresql/11/main/postgresql.conf /etc/postgresql/11/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 pentru ca modificările să aibă efect:

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

Rezultatul ar trebui să arate că serverul PostgreSQL ascultă toate interfețele (0.0.0.0).

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

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

/etc/postgresql/11/main/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using an 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 an 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

V-am arătat cum să instalați și să configurați PostgreSQL pe Debian 10. Pentru mai multe informații despre acest subiect, consultați Documentația PostgreSQL.

Baza de date postgresql debian