Što je PostgreSQL? Kako radi PostgreSQL?


PostgreSQL je svjetski najnapredniji sustav za upravljanje bazom podataka otvorenog izvornog koda koji je razvila PostgreSQL Global Development Group. To je snažan i visoko proširiv objektno-relacijski SQL (Structured Query Language) sustav baze podataka popularan zbog svoje pouzdanosti, robusnosti značajki i visokih performansi. Poznato je da je vrlo skalabilan i po količini podataka koje može pohraniti i njima upravljati i po broju istodobnih korisnika koje može primiti.

PostgreSQL je dostupan i distribuira pod PostgreSQL licencom, liberalnom licencom otvorenog koda. To znači da možete preuzeti softver, koristiti ga, mijenjati i besplatno distribuirati u bilo koju svrhu. Također je višeplatformski, radi na Linuxu, Windowsu i macOS-u te mnogim drugim operativnim sustavima.

Preuzmite PostgreSQL

  • Preuzmite PostgreSQL 12

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

Kako radi PostgreSQL?

PostgreSQL koristi model klijent-poslužitelj gdje klijent i poslužitelj mogu boraviti na različitim hostovima u umreženom okruženju. Poslužiteljski program upravlja datotekama baze podataka, prihvaća veze s bazom podataka od klijentskih aplikacija. Može upravljati s višestrukim istodobnim vezama klijenata tako što će “razdvojiti” novi proces za svaku vezu. Izvršava zahtjeve baze podataka od klijenata i šalje rezultate nazad klijentima. Udaljeni klijenti mogu se povezati preko mreže ili interneta na poslužitelj.

Valjani klijentski programi uključuju tekstualno orijentirane alate koji se isporučuju s PostgreSQL-om, grafičkim alatom ili aplikacijama razvijenim pomoću drugih programskih jezika.

Ključne značajke PostgreSQL-a

PostgreSQL podržava nekoliko tipova podataka uključujući primitivne (kao što su nizovi, cijeli brojevi, numerički i booleovi), strukturirane (kao što su datum/vrijeme, niz, raspon i UUID), dokument (JSON, JSONB, XML , ključ-vrijednost (Hstore)), geometrija (točka, linija, krug i poligon) i prilagodbe (kompozitne i prilagođene vrste). Podržava integritet podataka korištenjem značajki kao što su UNIQUE, NOT NULL, primarni i strani ključevi, ograničenja isključenja, eksplicitna i savjetodavna zaključavanja.

  • Izgrađen je za konkurentnost i izvedbu koristeći mnoge značajke koje uključuju indeksiranje i napredno indeksiranje, transakcije i ugniježđene transakcije, kontrolu istovremenosti s više verzija (MVCC), paralelizaciju upita za čitanje i izgradnju indeksa B-stabla, particioniranje tablice, Just-In- Vremenska (JIT) kompilacija izraza i više.
  • Kako bi se osigurala pouzdanost, redundantnost podataka, visoka dostupnost i oporavak od katastrofe, PostgreSQL nudi značajke kao što su pisanje unaprijed (WAL), master-slave replikacija, aktivna stanja čekanja i oporavak u trenutku (PITR) i još mnogo toga . Sve to omogućuje implementaciju klastera baze podataka s više čvorova koji može pohraniti i upravljati velikim količinama (terabajtima) podataka, te specijaliziranim sustavima koji upravljaju petabajtima.
  • Važno je da je PostgreSQL također vrlo 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 putanje, strane omote podataka i još mnogo toga. Također možete proširiti njegovu temeljnu funkcionalnost korištenjem mnogih proširenja koje je razvila zajednica.
  • Sigurnost je također u srcu Postgresa. Kako bi zaštitio vaše baze podataka, nudi različite oblike provjere autentičnosti (uključujući GSSAPI, SSPI, LDAP, SCRAM-SHA-256, Certifikat, itd.), robustan sustav kontrole pristupa, sigurnost na razini stupaca i redaka, kao i multi- faktor autentifikacije s certifikatima i dodatnom metodom. Međutim, dobra sigurnost poslužitelja baze podataka uvijek bi trebala započeti na razini mreže i poslužitelja.

PostgreSQL klijenti i alati

PostgreSQL pruža i podržava mnoge klijentske aplikacije za administraciju baze podataka kao što je psql interaktivni uslužni program naredbenog retka i pgadmin, PHP-bazirano web sučelje za administraciju baze podataka (koje je najviše povlašteni način).

Za korištenje baza podataka PostgreSQL za pohranjivanje podataka za vaše aplikacije, možete povezati svoje aplikacije koristeći bilo koju od podržanih biblioteka ili upravljačkih programa, dostupnih za većinu popularnih programskih jezika. libpq je popularno sučelje programera C aplikacija za PostgreSQL, ono je temeljni mehanizam za nekoliko drugih sučelja aplikacija PostgreSQL.

Tko koristi PostgreSQL?

PostgreSQL se koristi u RedHatu, Debianu, Appleu, Sun Microsystemu, Ciscu i mnogim drugim tvrtkama 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 Debianu 10
  • Kako instalirati PgAdmin 4 Debian 10
  • Kako instalirati i koristiti PostgreSQL na Ubuntu 18.04
  • Kako instalirati PostgreSQL s PhpPgAdmin na OpenSUSE