Mondi su mondi, sistemi di sistemi.

PostgreSQL 9: le novità

Sta per arri­vare la nuova ver­sione di PostgreSQL, la 9 1. Come in pas­sato, anche se più sin­te­ti­ca­mente, fac­cio una car­rel­lata delle prin­ci­pali novità.

Binary repli­ca­tion

La novità più impor­tante è l’aggiunta di una solu­zione di replica uti­liz­za­bile da subito, senza com­po­nenti aggiun­tive. La ver­sione “di sistema” offre la pos­si­bi­lità di repli­care attra­verso l’invio del WAL 2 ai nodi secon­dari, che pos­sono essere con­fi­gu­rati in moda­lità Hot 3 o Warm 4 Standby.

Nel caso del Warm Standby il nodo prin­ci­pale spe­di­sce ai secon­dari un intero seg­mento di WAL alla volta, men­tre nel caso dell’Hot Standby la gra­nu­la­rità dell’invio scende al livello del record, ridu­cendo ulte­rior­mente la fine­stra di scopertura.

Funzioni, pro­gram­ma­zione

È stato aggiunto il sup­porto per le fun­zioni ano­nime. Non c’è molto da aggiun­gere in que­sto caso, per­ché l’uso è vera­mente sem­plice5.

È pos­si­bile usare i nomi dei para­me­tri delle fun­zioni anche nell’invocazione, ren­dendo più chiaro il codice nel caso in cui ce ne siano molti 6.

Dettaglio carino e utile: adesso è pos­si­bile set­tare la varia­bile application_name.

SQL

Ora pos­siamo restrin­gere l’esecuzione dei trig­ger a una sin­gola colonna. 7. Inoltre, pos­siamo spe­ci­fi­care la clau­sola when per restrin­gere la loro atti­va­zione solo nei casi real­mente neces­sari 8.

Adesso è pos­si­bile creare dei con­straint che vadano al di là della sem­plice veri­fica di uni­cità, spe­ci­fi­cando l’operatore usato per il pre­di­cato di con­fronto fra due valori. L’esempio ripor­tato nella docu­men­ta­zione è quello che spe­ci­fica il divieto di avere due cir­con­fe­renze che si inter­se­cano 9. Sempre a pro­po­sito dei vin­coli di uni­cità, adesso pos­sono essere spe­ci­fi­cati come deferrable.

  1. Note di rila­scio
  2. Il Write Ahead Log
  3. Per Hot Standby si intende invece la pos­si­bi­lità di con­net­tersi a un nodo in moda­lità di ripri­stino e sot­to­met­tere delle query di sola let­tura, per poi pas­sare suc­ces­si­va­mente alla moda­lità nor­male in modo tra­spa­rente rispetto agli utenti con­nessi.
  4. Il Warm Standby, o log ship­ping, è defi­nito come la capa­cità di rag­giun­gere l’alta dispo­ni­bi­lità attra­verso l’uso di uno o più nodi in standby, pronti ad entrare in azione nel caso in cui il nodo pri­ma­rio sia disat­tivo.
  5. Do sta­te­ment
  6. Named para­me­ters
  7. per-column trig­gers. Questa pos­si­bi­lità è limita ai trig­ger in UPDATE.
  8. Conditional Triggers
  9. Exclusion Constraints

Per proseguire

Commenti e trackback sono disabilitati.