PostgreSQL este un sistem de baze de date relationale. Este disponibil gratuit sub o licentă open source de tip BSD. PostgreSQL nu este controlat de nici o companie, își bazează dezvoltarea pe o comunitate răspândită la nivel global, precum și câteva companii dezvoltatoare.
Numele produsului
La prima vedere numele poate parea dificil de pronunțat. Dezvolatorii îl pronunță [ˈpoʊstɡrɛsˌkjuːˈɛl]; (Audio sample, 5.6k MP3). Este uneori abreviat ca "Postgres", numele original. Numele reflectă originea proiectului, ca o bază de date post-Ingress, autorii originali fiind de asemenea participanți la dezvoltarea Ingress.
Număr maxim de înregistrari într-o tabelă: nelimitat
Număr maxim de coloane într-o tabelă: 250 - 1600 în funcție de tipul coloanelor
Limbaj procedural
PostgreSQL permite folosirea limbajelor procedurale pentru a executa blocuri de cod direct în serverul de baze de date. Se pot folosi pentru a crea funcții definite de utilizator (subrutine, trigerre, agregate și funcții fereastră) sau pentru a crea blocuri ad hoc "DO". Instalarea standard a PostgreSQL permite utilizarea urmatoarelor limbaje:
PL/pgSQL, un limbar asemănator cu PL/SQL existent in Oracle.
Alte limbaje disponibile în afara pachetului de bază includ: PL/Java, PL/php, PL/Ruby, etc.
Indecși
La fel ca și alte baze de date, PostgreSQL permite utilizarea indecșilor pentru accelerarea interogarilor. Suporta mai multe tipuri de indecși: B-tree, Hash, GiST sau GIN. Daca tipul nu este specificat la crearea indexului, se utilizează B-tree. Alte caracteristici suportate:
Valorile indecșilor pot fi calculate printr-o expresie sau o funcție.
Indecși parțiali permit să se indexează doar o parte dintr-o tabelă. Pot fi creați prin specificarea unei clauze WHERE la sfârșitul unei comenzi CREATE INDEX.
Planificatorul este capabil să folosească mai mulți indecși pentru a executa interogări complexe.