×

Pot crea o baza de date PostgreSQL pe web hosting?

Pachetele de web hosting oferite de IPHost, nu oferă posibilitate de a adăuga baze de date PostgreSQL, noi susținem doar baze de date MySQL. Deci răspunsul cel mai simplu si scurt este - NU.

Ce este PostgreSQL?
PostgreSQL este un sistem de gestionare al bazelor de date open-source si cunoscut pentru performanta, securitatea si extensibilitatea sa. Este folosit in mare parte pentru aplicații web si este compatibil cu mai multe limbaje de programare, cum ar fi PHP, Python, Java si C++. Pentru administrarea PostgreSQL, exista interfețe grafice, cum ar fi: phpPgAdmin - disponibil in cPanel si este similar cu phpMyAdmin pentru MySQL, pgAdmin - aplicație desktop/web dedicata pentru gestionarea bazelor de date PostgreSQL si DBeaver - un instrument multi-platform, destinat lucrului cu bazele de date.

In cazul in care folosești doar un instrument grafic, poți administra baza de date PostgreSQL fără sa scrii cod SQL. Totuși pentru operațiuni mai avansate, este recomandat sa cunoști SQL.

Este PostgreSQL suportat pe web hosting?
Pe majoritatea pachetelor de shared web hosting, furnizorii nu oferă posibilitatea de a folosi baze de date PostgreSQL. O soluție de a folosi o astfel de baza de date, ar fi utilizarea unui pachet de VPS sau a unui server dedicat, unde poți instala PostgreSQL manual sau de a procura un pachet de web hosting destinat utilizării bazelor de date PostgreSQL.

Cum instalez PostgreSQL manual pe un VPS sau server dedicat?
Daca optezi pentru un VPS sau server dedicat si dorești sa instalezi PostgreSQL pe acesta manual, urmează pasii (comenzile următoare sunt destinate doar sistemelor Ubuntu/Debian):

  1. Executa update-urile necesare de sistema:
    sudo apt update
    sudo apt upgrade -y


  2. Instalează pachetele necesare pentru PostgreSQL:
    sudo apt install postgresql postgresql-contrib

In continuare, voi prezenta configurarea PostgreSQL:

  1. Setează o parola pentru utilizatorul postgres (contul implicit de administrare):
    sudo -u postgres psql
    ALTER USER postgres PASSWORD `parola`;
    \q
  2. Editează fișierul postgresql.conf pentru a accepta conexiuni externe:
    sudo nano /etc/postgresql/14/main/postgresql.conf
  3. Găsește linia listen_addresses = 'localhost' si schimb-o in:
    listen_addresses = 'ip_adresa'
    In loc de ip_adresa introdu adresa IP sau o mulțime de adrese care dorești sa aibă acces la baza de date. Poți folosi '*' pentru a permite tuturor sa se conecteze.

  4. Editează fișierul pg_hba.conf pentru a permite accesul de la distanță:
    sudo nano /etc/postgresql/14/main/pg_hba.conf

  5. Înlocuiește secțiunea # IPv4 local connections: cu următoarea:
    # IPv4 local connections:
    host all all 0.0.0.0/0 md5
  6. Deschide portul 5432:
    sudo ufw allow 5432/tcp

  7. Executa un restart pentru PostgreSQL:
    sudo service postgresql restart

Poți crea si un utilizator pentru o baza de date PostgreSQL:

  1. Creează o baza de date in cazul in care nu o ai:
    sudo -u postgres createdb nume_bd

  2. Creează un utilizator nou si acord-i acces:
    sudo -u postgres createuser -P nume_user
    sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE nume_bd TO nume_user;"

Cum mă conectez la o baza de date PostgreSQL după ce am instalat-o?
Sunt 2 opțiuni de conectare la o baza de date PostgreSQL după instalarea acesteia:

  • Din linia de comanda.
  • Prin aplicații externe, precum DBeaver sau pgAdmin.

Daca ai plăcerea de a te conecta la o baza de date din linia de comanda, atunci folosește următoarea linie:

   psql -h ip_server -u nume_user -d nume_db -p 5432

A doua metoda, cea prin aplicații externe, este mult mai ușoară si o recomandam, pentru ca folosește interfață grafica. Pentru a te conecta la baza de date PostgreSQL, deschide aplicația dedicata acestei funcționalități si introdu:

  • Host: Adresa IP a server-ului unde se afla baza de date.
  • Post: 5432 sau alt port predestinat conectării.
  • User: Numele de utilizator cu drepturi de acces la baza de date.
  • Parola: Parola setata acestui utilizator.
  • Baza de date: Numele bazei de date la care se face conectarea.