Documentazione di PostgreSQL 9.0 > Programmazione del server > Estendere SQL
PrecedenteProgrammazione del serverIl sistema dei tipi di PostgreSQLSuccessivo

35. Estendere SQL

Nelle sezioni che seguono, discuteremo di come è possibile estendere il linguaggio SQL di PostgreSQL™ aggiungendo:

35.1. Come funziona l'estensibilità

PostgreSQL™ è estensibile dato che le sue operazioni sono orientate al catalogo. Se si è familiari con i sistemi di database relazionali standard, si dovrebbe sapere che tengono informazioni su database, tabelle, colonne, ecc., in quelli che comunemente sono chiamati cataloghi di sistema. (Alcuni sistemi chiamano questi dati dizionari). I cataloghi appaiono agli utenti come tabelle uguali alle altre, ma il DBMS salva in essi la sua contabilità. Una differenza fondamentale tra PostgreSQL™ e i sistemi di database relazionali standard è che PostgreSQL™ salva molte più informazioni nei suoi cataloghi: non solo informazioni riguardanti tabelle e colonne, ma anche informazioni sui tipi di dato, funzioni, metodi di accesso, e così via. Queste tabelle possono essere modificate dall'utente e dato che PostgreSQL™ basa le sue operazioni su queste tabelle, questo significa che PostgreSQL™ può essere esteso dall'utente. Per fare un paragone, i sistemi di database convenzionali possono essere estesi solo cambiando procedure nel codice sorgente o caricando moduli scritti appositamente dal distributore del DBMS.

Il server PostgreSQL™ può inoltre incorporare codice scritto dall'utente in sè stesso attraverso il caricamento dinamico. Così, l'utente può specificare un file di codice oggeto (per es., una libreria condivisa) che implementa un nuovo tipo o funzione, e PostgreSQL™ la caricherà come richiesto. Il codice scritto in SQL è ancora più banale da aggiungere al server. L'abilità di modificare le sue operazioni «al volo» rende PostgreSQL™ adatto a creare rapidamente nuove applicazioni e e strutture di immagazzinamento.

Documentazione di PostgreSQL 9.0 > Programmazione del server > Estendere SQL
PrecedenteProgrammazione del serverIl sistema dei tipi di PostgreSQLSuccessivo