Acasă » Enciclopedie » Enciclopedie găzduire » Termen PostgreSQL

Despre PostgreSQL

Ce este PostgreSQL ?
PostgreSQL este un sistem de baze de date relațional de obiecte puternic, open source.

PostgreSQL este un sistem de baze de date relațional de obiecte puternic, open source, care utilizează și extinde limbajul SQL combinat cu multe caracteristici care stochează și scală în siguranță cele mai complicate sarcini de date. Originile PostgreSQL datează din 1986 ca parte a proiectului POSTGRES de la Universitatea California din Berkeley și are mai mult de 30 de ani de dezvoltare activă pe platforma de bază.



PostgreSQL a câștigat o reputație puternică pentru arhitectura dovedită, fiabilitatea, integritatea datelor, setul de caracteristici robust, extensibilitatea și dedicarea comunității open source din spatele software-ului pentru a oferi soluții performante și inovatoare. PostgreSQL rulează pe toate sistemele de operare majore, respectă ACID din 2001 și are suplimente puternice, cum ar fi popularul extensor de baze de date geospatiale PostGIS. Nu este de mirare că PostgreSQL a devenit baza de date relațională open source la alegere pentru multe persoane și organizații.

Începerea folosirii PostgreSQL nu a fost niciodată mai ușoară - alegeți un proiect pe care doriți să-l construiți și lăsați-l pe PostgreSQL să vă stocheze în siguranță și robust datele.

De ce să folosești PostgreSQL?

PostgreSQL vine cu multe funcții menite să ajute dezvoltatorii să creeze aplicații, administratori pentru a proteja integritatea datelor și pentru a construi medii care să tolereze erorile și să vă ajute să vă gestionați datele, indiferent cât de mare sau mic este setul de date. Pe lângă faptul că este liber și open source, PostgreSQL este extrem de extensibil. De exemplu, puteți să vă definiți propriile tipuri de date, să creați funcții personalizate, chiar să scrieți coduri din diferite limbaje de programare fără să vă recompilați baza de date!

PostgreSQL încearcă să se conformeze standardului SQL în cazul în care o astfel de conformitate nu contravine caracteristicilor tradiționale sau ar putea duce la decizii arhitecturale slabe. Multe dintre caracteristicile cerute de standardul SQL sunt acceptate, deși uneori cu sintaxă sau funcție ușor diferită. În timp se pot aștepta mișcări ulterioare către conformitate. De la lansarea versiunii 12 din octombrie 2019, PostgreSQL se conformează cel puțin 160 din cele 179 de caracteristici obligatorii pentru conformitatea de bază SQL: 2016. Din această scriere, nicio bază de date relațională nu îndeplinește conformitatea cu acest standard.

Caracteristici principale PostgreSQL

PostgreSQL are multe caracteristici avansate cum ar fi:

  • Tipuri definite de utilizator
  • Moștenirea tabelului
  • Mecanism complex de blocare
  • Integritate referențială cheie străină
  • Vizualizări, reguli, solicitare
  • Tranzacții amplificate (puncte de economisire)
  • Controlul concurenței cu mai multe versiuni (MVCC)
  • Replicare asincronă

Versiunile recente ale PostgreSQL acceptă următoarele caracteristici:

  • Versiunea nativă pentru Microsoft Windows Server
  • Tablespaces
  • Recuperare punctuală în timp
  • Și mai multe funcții noi sunt adăugate la fiecare versiune nouă.

Instalarea implicită și extinderea PostgreSQL și a MySQL

Instalarea implicită a PostgreSQL funcționează în general, mai bine ca configurarea implicită a MySQL (dar puteți configura MySQL pentru a compensa). MySQL are anumite setări implicite mai putin intâlnite (de exemplu: codificarea caracterelor și colocarea).

PostgreSQL este extrem de extensibil. Acesta acceptă o serie de tipuri de date avansate care nu sunt disponibile în MySQL (geometrice / GIS, tipuri de adrese de rețea, JSONB, care pot fi indexate, UUID nativ, timestamps conștienți de fusul orar). Dacă acest lucru nu este suficient, puteți adăuga, de asemenea, propriile tipuri de date, operatori și tipuri de index.

PostgreSQL este cu adevărat open-source și bazat pe comunitate, în timp ce MySQL a avut unele probleme de autorizare. Acesta a fost început ca un produs al companiei (cu o versiune gratuită și plătită), iar achiziția de Oracle a MySQL AB în 2010 a dus la anumite preocupări în rândul dezvoltatorilor cu privire la starea sa viitoare de open source. Cu toate acestea, există mai multe variante open source ale MySQL-ului inițial (MariaDB, Percona etc.).

PostgreSQL va fi ideal pentru proiectul dvs., dacă cerințele dvs. se referă la proceduri complexe, integrare, proiectări complexe și integritate a datelor, și nu în jurul vitezei mari și al ușurinței de configurare.

MySQL va fi ideal pentru proiectul dvs. dacă aveți nevoie de un Sistem relațional de gestionare a bazelor de date RDBMS (Relational Database Management System) de înaltă securitate pentru aplicații web sau soluții personalizate, dar nu dacă aveți nevoie de un RDBMS complet SQL compatibil, capabil să efectueze rapid activități complexe.

Administrarea bazelor de date

Instrumente si front-end-uri open source pentru administrarea PostgreSQL:

  • psql - Front-end-ul principal pentru PostgreSQL este programul de linie de comandă psql, care poate fi utilizat pentru a introduce interogări SQL direct sau pentru a le executa dintr-un fișier. În plus, psql oferă o serie de meta-comenzi și diferite caracteristici asemănătoare shell-ului pentru a facilita scrierea de scripturi și automatizarea unei largi varietăți de sarcini; de exemplu, completarea filelor pentru numele obiectelor și sintaxa SQL.

  • pgAdmin - Pachetul pgAdmin este un instrument de administrare grafic interfață de utilizator (GUI) gratuit și open-source pentru PostgreSQL, care este acceptat pe multe platforme. În momentul de față sunt disponibile 4 versiuni. Spre deosebire de versiunile anterioare scrise în Visual Basic, pgAdmin III este scris în C ++, folosind wxWidgets, cadru care îi permite să ruleze pe cele mai comune sisteme de operare. Instrumentul de interogare include un limbaj de script numit pgScript pentru susținerea activităților de administrare și dezvoltare. În 2016, pgAdmin 4 a fost lansat. pgAdmin 4 backend a fost scris în Python, folosind cadrul Flask și Qt.

  • phpPgAdmin - Este un instrument de administrare web pentru PostgreSQL scris în PHP și bazat pe interfața populară phpMyAdmin scrisă inițial pentru administrarea MySQL.

  • PostgreSQL Studio - permite utilizatorilor să efectueze activități esențiale de dezvoltare a bazelor de date PostgreSQL de pe o consolă web. PostgreSQL Studio permite utilizatorilor să lucreze cu baze de date cloud fără a fi nevoie să deschidă firewall-uri.

  • TeamPostgreSQL - Interfața web AJAX / JavaScript bazată pe PostgreSQL. Permite navigarea, menținerea și crearea de date și obiecte de bază de date printr-un browser web. Interfața oferă un editor SQL completare automată, widget-uri de editare a rândurilor, gestionare favorites pentru scripturile utilizate frecvent, printre alte funcții. Suportă SSH atât pentru interfața web, cât și pentru conexiunile de bază de date. Pachete de instalare sunt disponibile pentru Windows, Macintosh și Linux, o arhivă simplă care se execută printr-un script.

  • LibreOffice, OpenOffice.org - LibreOffice și OpenOffice.org Base pot fi utilizate ca front-end pentru PostgreSQL.

  • pgBadger - analizează și generează rapoarte detaliate dintr-un fișier jurnal PostgreSQL.

  • pgDevOps - este o suită de instrumente web pentru instalarea și gestionarea mai multor versiuni PostgreSQL, extensii și componente ale comunității, dezvoltă interogări SQL, monitorizează rularea bazelor de date și găsește probleme de performanță.

Versiunile recente ale PostgreSQL acceptă următoarele caracteristici:

  • Versiunea nativă pentru Microsoft Windows Server
  • Tablespaces
  • Recuperare punctuală în timp
  • Și mai multe funcții noi sunt adăugate la fiecare versiune nouă

Avantaje PostgreSQL față de MySQL

PostgreSQL este o bază de date relațională obiect, în timp ce MySQL este o bază de date pur relațională. Aceasta înseamnă că PostgreSQL include funcții precum moștenirea tabelelor și supraîncărcarea funcțiilor, care pot fi importante pentru anumite aplicații. PostgreSQL aderă, de asemenea, mai îndeaproape la standardele SQL.

PostgreSQL gestionează concurența mai bine decât MySQL din mai multe motive:

  • PostgreSQL implementează Multiversion Concurrency Control (MVCC) fără blocări de citire
  • PostgreSQL acceptă planuri de interogare paralele care pot utiliza mai multe procesoare / nuclee
  • PostgreSQL poate crea indexuri într-un mod care nu blochează (prin sintaxa CREATE INDEX CONCURRENTLY) și poate crea indexuri parțiale (pentru de exemplu, dacă aveți un model cu ștergere soft, puteți crea un index care ignoră înregistrările marcate ca șterse)
  • PostgreSQL este cunoscut pentru protejarea integrității datelor la nivelul tranzacției. Acest lucru îl face mai puțin vulnerabil la corupția datelor.

Instalarea implicită și extinderea PostgreSQL și a MySQL

Instalarea implicită a PostgreSQL funcționează, în general, mai bine decât setarea implicită a MySQL (dar puteți configura MySQL pentru a compensa). MySQL are anumite setări implicite ciudat (de exemplu, pentru codificarea caracterelor și colocarea).

PostgreSQL este extrem de extensibil. Acesta acceptă o serie de tipuri de date avansate care nu sunt disponibile în MySQL (geometrice / GIS, tipuri de adrese de rețea, JSONB, care pot fi indexate, UUID nativ, timestamps conștienți de fusul orar). Dacă acest lucru nu este suficient, puteți adăuga, de asemenea, propriile tipuri de date, operatori și tipuri de index.

PostgreSQL este cu adevărat open-source și bazat pe comunitate, în timp ce MySQL a avut unele probleme de autorizare. Acesta a fost început ca un produs al companiei (cu o versiune gratuită și plătită), iar achiziția de Oracle a MySQL AB în 2010 a dus la anumite preocupări în rândul dezvoltatorilor cu privire la starea sa viitoare de open source. Cu toate acestea, există mai multe variante open source ale MySQL-ului inițial (MariaDB, Percona etc.).

PostgreSQL va fi ideal pentru proiectul dvs., dacă cerințele dvs. se referă la proceduri complexe, integrare, proiectări complexe și integritate a datelor, și nu în jurul vitezei mari și al ușurinței de configurare.

MySQL va fi ideal pentru proiectul dvs. dacă aveți nevoie de un RDBMS (Relational Database Management System) de înaltă securitate pentru aplicații web sau soluții personalizate, dar nu dacă aveți nevoie de un RDBMS complet SQL compatibil, capabil să efectueze rapid activități complexe.