Panoramica di PostgreSQL

Esegui il deploy delle applicazioni più popolari sui nostri server cloud ad alte prestazioni con un solo clic.

PostgreSQL è un sistema di gestione di database oggetto-relazionale a distribuzione libera, sviluppato da una comunità internazionale di sviluppatori e non controllato da alcuna azienda o individuo. PostgreSQL è distribuito sotto una licenza libera che ne consente l'inclusione in prodotti software commerciali.

file

I punti di forza di PostgreSQL sono:

  • meccanismi di transazione e replica ad alte prestazioni e affidabilità;
  • sistema estensibile di linguaggi di programmazione incorporati: PL/pgSQL, PL/Perl, PL/Python e PL/Tcl sono supportati di serie; è possibile utilizzare inoltre PL/Java, PL/PHP, PL/Py, PL/R, PL/Ruby, PL/Scheme, PL/sh e PL/V8, ed è disponibile il caricamento di moduli compatibili con C;
  • ereditarietà;
  • facilità di estensione.

Funzionalità principali:

  • Le funzioni sono blocchi di codice eseguiti sul server, non sul client del database. Sebbene possano essere scritte in SQL puro, l'implementazione di logica aggiuntiva — come salti condizionali e cicli — va oltre le capacità di SQL e richiede alcune estensioni del linguaggio.
  • I trigger sono definiti come funzioni avviate da operazioni DML. Ad esempio, un'operazione INSERT può attivare un trigger che verifica il record aggiunto rispetto a determinate condizioni. Per scrivere le funzioni dei trigger possono essere utilizzati diversi linguaggi di programmazione.
  • Regole e viste — il meccanismo delle regole consente di creare gestori personalizzati non solo per le operazioni DML, ma anche per le operazioni di selezione. La differenza principale rispetto al meccanismo dei trigger è che le regole vengono attivate nella fase di analisi della query, prima della scelta del piano di esecuzione ottimale e del processo di esecuzione stesso. Le regole consentono di ridefinire il comportamento del sistema durante l'esecuzione di operazioni SQL su una tabella.
  • PostgreSQL supporta indici dei seguenti tipi: B-tree, hash, GiST, GIN, BRIN, Bloom. Se necessario, è possibile creare nuovi tipi di indice.
  • PostgreSQL supporta la modifica simultanea del database da parte di più utenti tramite il meccanismo Multiversion Concurrency Control (MVCC). Questo garantisce il rispetto dei requisiti ACID e rende quasi superflui i lock in lettura.
  • PostgreSQL supporta un ampio insieme di tipi di dati integrati.

Le tabelle possono ereditare caratteristiche e insiemi di campi da altre tabelle (padre). I dati aggiunti a una tabella derivata parteciperanno automaticamente (salvo diversa indicazione) alle query sulla tabella padre.

In PostgreSQL 10 è stato aggiunto il meccanismo di partizionamento delle tabelle. Il partizionamento è progettato per suddividere una tabella in più tabelle, chiamate partizioni. Il partizionamento è simile all'ereditarietà, ma dispone di una sintassi più intuitiva e di vincoli più rigidi, il che consente ulteriori ottimizzazioni nella pianificazione delle query.

Ulteriori informazioni sono disponibili su Wiki.

Hai bisogno di aiuto?I nostri ingegneri ti aiuteranno gratuitamente con qualsiasi domanda in pochi minutiContattaci