Ricerca nel sito web

Cos'è PostgreSQL? Come funziona PostgreSQL?


PostgreSQL è il sistema di gestione di database open source di livello aziendale più avanzato al mondo, sviluppato dal PostgreSQL Global Development Group. Si tratta di un sistema di database relazionale a oggetti potente e altamente estensibile SQL (Structured Query Language), 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 la licenza PostgreSQL, una licenza open source liberale. Ciò implica che è possibile scaricare il software, utilizzarlo, modificarlo e distribuirlo gratuitamente per qualsiasi scopo. È anche multipiattaforma, funziona su Linux, Windows, macOS e molti altri sistemi operativi.

Scarica PostgreSQL

  • Scarica PostgreSQL 12

Utilizza ed estende il linguaggio SQL con tante funzionalità potenti e moderne. Sebbene sia conforme a SQL in cui sono supportate molte delle funzionalità richieste dallo standard SQL (l'ultima versione di PostgreSQL è la 12 al momento della stesura di questo articolo conferma almeno 160 delle 179 funzionalità obbligatorie per SQL), ci sono alcune lievi variazioni in sintassi o funzione.

Come funziona PostgreSQL?

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 "biforcando" un nuovo processo per ogni connessione. Esegue le richieste del 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.

Caratteristiche principali di PostgreSQL

PostgreSQL supporta diversi tipi di dati tra cui primitivi (come stringhe, numeri interi, numerici e booleani), strutturati (come data/ora, array, intervallo e UUID), documenti (JSON, JSONB, XML , valore-chiave (Hstore)), geometria (punto, linea, cerchio e poligono) e personalizzazioni (tipi compositi e personalizzati). Supporta l'integrità dei dati utilizzando funzionalità come UNIQUE, NOT NULL, chiavi primarie ed esterne, vincoli di esclusione, blocchi espliciti e consultivi.

  • È costruito per la concorrenza e le prestazioni utilizzando molte funzionalità che includono indicizzazione e indicizzazione avanzata, transazioni e transazioni nidificate, controllo della concorrenza multiversione (MVCC), parallelizzazione delle query di lettura e creazione di indici B-tree, partizionamento delle tabelle, Just-In- Compilazione temporale (JIT) di espressioni e altro ancora.
  • Per garantire affidabilità, ridondanza dei dati, elevata disponibilità e ripristino di emergenza, PostgreSQL offre funzionalità come il log write-ahead (WAL), la replica master-slave, gli standby attivi e il ripristino point-in-time (PITR) e molto altro ancora. . Tutti questi consentono l'implementazione di cluster di database multinodo in grado di archiviare e gestire grandi volumi (terabyte) di dati e sistemi specializzati che gestiscono petabyte.
  • È importante sottolineare che PostgreSQL è anche molto estensibile in molti modi. Per estenderlo, puoi utilizzare funzioni e procedure memorizzate, linguaggi procedurali tra cui PL/PGSQL, Perl, Python, espressioni di percorso SQL/JSON, wrapper di dati esterni e altro ancora. Puoi anche estendere le sue funzionalità principali utilizzando molte estensioni sviluppate dalla community.
  • Anche la sicurezza è al centro di Postgres. Per proteggere i tuoi database, offre varie forme di autenticazione (tra cui GSSAPI, SSPI, LDAP, SCRAM-SHA-256, Certificato, ecc.), un robusto sistema di controllo degli accessi, sicurezza a livello di colonna e riga, nonché multi- autenticazione del fattore con certificati e un metodo aggiuntivo. Tuttavia, una buona sicurezza del server database dovrebbe sempre iniziare a livello di rete e server.

Client e strumenti PostgreSQL

PostgreSQL fornisce e supporta molte applicazioni client per l'amministrazione di database come l'utilità a riga di comando interattiva psql e pgadmin, un'interfaccia web basata su PHP per l'amministrazione di database (che è la soluzione più modo favorito).

Per utilizzare i database PostgreSQL per archiviare dati per le tue applicazioni, puoi connettere le tue applicazioni utilizzando una qualsiasi delle librerie o driver supportati, disponibili per i linguaggi di programmazione più diffusi. libpq è una popolare interfaccia per programmatori di applicazioni C per PostgreSQL, è il motore sottostante per molte altre interfacce di applicazioni PostgreSQL.

Chi utilizza PostgreSQL?

PostgreSQL viene utilizzato da RedHat, Debian, Apple, Sun Microsystem, Cisco e molte altre società e organizzazioni.

Dai un'occhiata a queste guide correlate alla configurazione della tua applicazione con il database PostgreSQL su Linux.

  • Come installare PostgreSQL in RHEL 8
  • Come installare PostgreSQL e pgAdmin in CentOS 8
  • Come installare il database PostgreSQL in Debian 10
  • Come installare PgAdmin 4 Debian 10
  • Come installare e utilizzare PostgreSQL su Ubuntu 18.04
  • Come installare PostgreSQL con PhpPgAdmin su OpenSUSE