PostgreSQL è il sistema di gestione di database open source di classe enterprise più avanzato al mondo sviluppato da PostgreSQL Global Development Group. È un oggetto relazionale potente e altamente estensibile SQL (Structured Query Language) sistema di database popolare per la sua affidabilità, robustezza delle funzionalità e prestazioni elevate. È noto per essere altamente scalabile sia nella quantità di dati che può archiviare e gestire sia nel numero di utenti simultanei che può ospitare.
PostgreSQL è disponibile e distribuito sotto il Licenza PostgreSQL, una licenza liberale open source. Ciò implica che è possibile scaricare il software, utilizzarlo, modificarlo e distribuirlo gratuitamente per qualsiasi scopo. È anche multipiattaforma, funziona su Linux, Windows e macOS e molti altri sistemi operativi.
Utilizza ed estende il linguaggio SQL con tante funzionalità potenti e moderne. Sebbene sia compatibile con SQL dove sono supportate molte delle funzionalità richieste dallo standard SQL (l'ultima versione di PostgreSQLè12 al momento della scrittura conferma almeno 160 delle 179 caratteristiche obbligatorie per SQL), ci sono alcune lievi variazioni nella sintassi o funzione.
PostgreSQL utilizza un modello client-server in cui il client e il server possono risiedere su host diversi in un ambiente di rete. Il programma server gestisce i file del database, accetta connessioni al database dalle applicazioni client. Può gestire più connessioni simultanee dai client "biforcazione” un nuovo processo per ogni connessione. Esegue le richieste di database dai client e invia i risultati ai client. I client remoti possono connettersi al server tramite la rete o Internet.
I programmi client validi includono strumenti orientati al testo forniti con PostgreSQL, uno strumento grafico o applicazioni sviluppate utilizzando altri linguaggi di programmazione.
PostgreSQL supporta diversi tipi di dati inclusi i primitivi (come stringhe, interi, numerici e booleani), strutturati (come data/ora, array, intervallo e UUID), documento (JSON, JSONB, XML, valore-chiave (Hstore)), geometria (punto, linea, cerchio e poligono) e personalizzazioni (composito e personalizzato tipi). Supporta l'integrità dei dati utilizzando funzionalità come UNIQUE, NOT NULL, chiavi primarie ed esterne, vincoli di esclusione, blocchi espliciti e consultivi.
PostgreSQL fornisce e supporta molte applicazioni client per l'amministrazione di database come il psql utility da riga di comando interattiva e pgadmin, un'interfaccia web basata su PHP per l'amministrazione del database (che è il modo più preferito).
Usare PostgreSQL database per memorizzare i dati per le tue applicazioni, puoi connettere le tue applicazioni utilizzando una qualsiasi delle librerie o dei driver supportati, disponibili per i linguaggi di programmazione più diffusi. libpq è una popolare interfaccia per programmatori di applicazioni C a PostgreSQL, è il motore sottostante per molte altre interfacce di applicazioni PostgreSQL.
PostgreSQL viene utilizzato da RedHat, Debian, Apple, Sun Microsystem, Cisco e molte altre aziende e organizzazioni.
Dai un'occhiata a queste guide correlate alla configurazione della tua applicazione con il database PostgreSQL su Linux.