Šta je PostgreSQL? Kako PostgreSQL funkcionira?


PostgreSQL je najnapredniji sistem upravljanja bazama podataka otvorenog koda u poslovnoj klasi koji je razvila PostgreSQL Global Development Group. To je moćan i vrlo proširiv objektno-relacijski SQL (Structured Query Language) sistem baze podataka popularan zbog svoje pouzdanosti, robusnosti karakteristika i visokih performansi. Poznato je da je vrlo skalabilan kako po količini podataka koje može pohraniti i upravljati, tako i po broju istovremenih korisnika koje može primiti.

PostgreSQL je dostupan i distribuiran pod PostgreSQL licencom, liberalnom licencom otvorenog koda. To podrazumijeva da softver možete preuzeti, koristiti, modificirati i distribuirati besplatno za bilo koju svrhu. Takođe je višeplatformski, radi na Linux, Windows i macOS i mnogim drugim operativnim sistemima.

Preuzmite PostgreSQL

  • Preuzmite PostgreSQL 12

Koristi i proširuje SQL jezik sa toliko moćnih i modernih funkcija. Iako je kompatibilan sa SQL-om gdje su podržane mnoge funkcije koje zahtijeva SQL standard (najnovija verzija PostgreSQL-a je 12 u vrijeme pisanja potvrđuje najmanje 160 od 179 obaveznih funkcija za SQL), postoje neke male varijacije u sintaksu ili funkciju.

Kako PostgreSQL funkcionira?

PostgreSQL koristi klijent-server model gdje klijent i server mogu boraviti na različitim hostovima u umreženom okruženju. Serverski program upravlja datotekama baze podataka, prihvata veze sa bazom podataka od klijentskih aplikacija. Može da obrađuje više istovremenih konekcija od klijenata tako što će “račvati” novi proces za svaku vezu. On izvršava zahtjeve baze podataka od klijenata i šalje rezultate nazad klijentima. Udaljeni klijenti se mogu povezati preko mreže ili interneta na server.

Važeći klijentski programi uključuju tekstualno orijentirane alate koji se isporučuju s PostgreSQL-om, grafičkim alatom ili aplikacijama razvijenim korištenjem drugih programskih jezika.

Ključne karakteristike PostgreSQL-a

PostgreSQL podržava nekoliko tipova podataka uključujući primitive (kao što su string, cijeli broj, numerički i boolean), strukturirane (kao što su datum/vrijeme, niz, raspon i UUID), dokument (JSON, JSONB, XML , Key-Value (Hstore)), geometriju (tačka, linija, krug i poligon) i prilagođavanja (kompozitni i prilagođeni tipovi). Podržava integritet podataka koristeći funkcije kao što su UNIQUE, NOT NULL, primarni i strani ključevi, ograničenja isključenja, eksplicitna i savjetodavna zaključavanja.

  • Napravljen je za istovremenost i performanse koristeći mnoge funkcije koje uključuju indeksiranje i napredno indeksiranje, transakcije i ugniježđene transakcije, kontrolu konkurentnosti u više verzija (MVCC), paralelizaciju upita za čitanje i izgradnju indeksa B-stabla, particioniranje tablica, Just-In- Vremenska (JIT) kompilacija izraza i još mnogo toga.
  • Kako bi osigurao pouzdanost, redundantnost podataka, visoku dostupnost i oporavak od katastrofe, PostgreSQL nudi funkcije kao što su evidentiranje unaprijed (WAL), master-slave replikacija, aktivno stanje pripravnosti i oporavak u trenutku (PITR) i još mnogo toga . Sve ovo omogućava primenu klastera baze podataka sa više čvorova koji može da skladišti i upravlja velikim količinama (terabajta) podataka, i specijalizovane sisteme koji upravljaju petabajtima.
  • Važno je da je PostgreSQL takođe veoma proširiv na mnogo načina. Da biste ga proširili, možete koristiti pohranjene funkcije i procedure, proceduralne jezike uključujući PL/PGSQL, Perl, Python, SQL/JSON izraze putanja, strane omote podataka i još mnogo toga. Također možete proširiti njegovu osnovnu funkcionalnost pomoću mnogih ekstenzija koje je razvila zajednica.
  • Sigurnost je također u srcu Postgresa. Kako bi zaštitio vaše baze podataka, nudi različite oblike autentifikacije (uključujući GSSAPI, SSPI, LDAP, SCRAM-SHA-256, certifikat, itd.), robustan sistem kontrole pristupa, sigurnost na nivou stupaca i reda, kao i višestruke faktor autentifikacije sa sertifikatima i dodatnim metodom. Međutim, dobra sigurnost servera baze podataka uvijek treba početi na nivou mreže i servera.

PostgreSQL klijenti i alati

PostgreSQL pruža i podržava mnoge klijentske aplikacije za administraciju baze podataka, kao što su psql interaktivni uslužni program komandne linije i pgadmin, web sučelje zasnovano na PHP-u za administraciju baze podataka (što je najviše omiljeni način).

Da biste koristili PostgreSQL baze podataka za skladištenje podataka za svoje aplikacije, možete povezati svoje aplikacije koristeći bilo koju od podržanih biblioteka ili drajvera, dostupnih za većinu popularnih programskih jezika. libpq je popularno C sučelje programera aplikacija za PostgreSQL, to je osnovni mehanizam za nekoliko drugih sučelja PostgreSQL aplikacija.

Ko koristi PostgreSQL?

PostgreSQL se koristi u RedHat, Debian, Apple, Sun Microsystem, Cisco i mnogim drugim kompanijama i organizacijama.

Pogledajte ove povezane vodiče za postavljanje vaše aplikacije s PostgreSQL bazom podataka na Linuxu.

  • Kako instalirati PostgreSQL u RHEL 8
  • Kako instalirati PostgreSQL i pgAdmin u CentOS 8
  • Kako instalirati PostgreSQL bazu podataka u Debian 10
  • Kako instalirati PgAdmin 4 Debian 10
  • Kako instalirati i koristiti PostgreSQL na Ubuntu 18.04
  • Kako instalirati PostgreSQL sa PhpPgAdmin na OpenSUSE