2ndQuadrant » estensioni postgresql https://blog.2ndquadrant.it Il blog sui database di 2ndQuadrant Italia Thu, 25 Jan 2018 11:36:59 +0000 en-US hourly 1 http://wordpress.org/?v=4.3.15 Rilasciato PostgreSQL 9.1 https://blog.2ndquadrant.it/rilasciato_postgresql_91/ https://blog.2ndquadrant.it/rilasciato_postgresql_91/#comments Mon, 12 Sep 2011 14:26:00 +0000 http://2ndblog.dev.xcon.it/rilasciato_postgresql_91/ Il PostgreSQL Global Development Group annuncia il rilascio di PostgreSQL 9.1. Quest’ultima versione del leader dei database open source offre tecnologie innovative, estensibilità senza paragoni e nuove funzionalità come replica sincrona, estensioni, tabelle esterne ("foreign data wrapper"), indici "K-Nearest Neighbor".

Nei mesi scorsi, 2ndQuadrant aveva pubblicato una serie di articoli su alcune delle novità di PostgreSQL 9.1, fra cui tabelle unlogged, tabelle esterne ed estensioni.

"PostgreSQL 9.1 fornisce alcune delle più avanzate funzionalità a disposizione di tutti i database open source ed è sostenuto da una comunità attiva e innovativa, con dimostrata esperienza di successo in ambito aziendale. PostgreSQL è inoltre ben posizionato per costruire ed eseguire applicazioni nel cloud", afferma Charles Fan (Vice presidente, Dipartimento di Ricerca e sviluppo, VMware).

Risponde a importanti richieste degli utenti

La versione 9.1 introduce molte funzionalità che per anni sono state richieste dagli utenti, rimuovendo diverse barriere nell’adozione di nuove applicazioni o nella migrazione a PostgreSQL. Fra le altre, sono degne di nota:

  • replica sincrona: sicurezza e consistenza dei dati (perdita zero) all’interno di un cluster in alta disponibilità di server PostgreSQL;
  • collation a livello di colonna: definizione delle regole di ordinamento delle stringhe a livello di database, tabella o colonna;
  • tabelle "unlogged": miglioramenti prestazionali per dati volatili (i.e. caching o sessioni web).

"Heroku offre il più grande servizio cloud per PostgreSQL del mondo come ‘database-as-a-service’", svela James Lindenbaum, co-fondatore di Heroku. "Il rilascio della replica sincrona dei dati nella 9.1 fornisce ai nostri clienti modalità innovative per la protezione di dati mission-critical. Consacra inoltre PostgreSQL come una delle soluzioni di memorizzazione dati più dinamiche al momento disponibili".

Avanza lo stato dell’arte

La nostra comunità di sviluppatori è in grado di innovare con funzionalità all’avanguardia. La versione 9.1 ne comprende diverse che rappresentano vere e proprie novità nell’industria dei database anche non open source, come:

  • indicizzazione "K-Nearest-Neighbor": indici basati sul concetto di distanza, che permettono interrogazioni più veloci nel campo delle ricerche testuali e geografiche;
  • "Serializable Snapshot Isolation": garanzia di consistenza fra transazioni concorrenti senza necessariamente doverle bloccare, mettendo in pratica il concetto di "true serializability";
  • "Writeable Common Table Expression": esecuzione di complessi aggiornamenti ai dati su più passi, utilizzando una singola query;
  • "Security-Enhanced Postgres": implementa la sicurezza di livello militare e il controllo d’accesso vincolato ("Mandatory Access Control").

"OpenERP si è sempre avvalso delle funzionalità di classe enterprise di PostgreSQL per dotare di una base veloce, affidabile e scalabile le applicazioni che aiutano a gestire le operazioni quotidiane delle aziende nostre clienti. L’integrità dei dati in contesti altamente concorrenti e transazionali è un argomento di importanza critica per noi, e siamo veramente entusiasti della funzionalità ‘Serializable Snapshot Isolation’ introdotta in PostgreSQL 9.1!", aggiunge Olivier Dony, Community Manager di OpenERP.

Estende il motore del database

L’estensibilità di PostgreSQL consente agli utenti di aggiungere nuove funzionalità ad un database già in produzione e di sfruttarlo per compiti che nessun altro sistema di gestione di database è in grado di fare. La versione 9.1 aggiunge nuovi strumenti per l’estensibilità, fra cui:

  • tabelle esterne tramite "Foreign Data Wrapper": permette di collegare e interrogare altri database direttamente da PostgreSQL;
  • estensioni: rende più facile creare, caricare e gestire nuove funzionalità del database.

Tutte le funzionalità descritte sopra e molte altre sono descritte in dettaglio sia nella pagina del wiki di PostgreSQL intitolata "What’s New In 9.1" che nelle note di rilascio.

Nel 25° anniversario dello sviluppo del database PostgreSQL, la nostra comunità continua a migliorare la tecnologia dei database ad ogni rilascio annuale. Scarica subito la versione 9.1 e prova il più avanzato sistema di database open source al mondo.

Su PostgreSQL: PostgreSQL è il leader dei sistemi di gestione di database open source, con una comunità internazionale costituita da migliaia di utenti e sviluppatori nonché decine di aziende ed enti provenienti da tutte le parti del mondo. Il progetto PostgreSQL vanta 25 anni di attività di ingegneria del software, cominciata all’Università di California a Berkeley e oggi può vantare un ritmo di sviluppo senza uguali. La gamma di funzionalità mature messe a disposizione da PostgreSQL non soltanto è in grado di competere con quelle offerte da sistemi di database proprietari, ma le migliora in termini di funzionalità avanzate, estensibilità, sicurezza e stabilità. Scopri maggiori informazioni su PostgreSQL e partecipa attivamente alla nostra comunità su http://www.postgresql.org e, per l’Italia, http://www.itpug.org.

Per maggiori informazioni in italiano sul rilascio: Press Kit di PostgreSQL 9.1

]]>
https://blog.2ndquadrant.it/rilasciato_postgresql_91/feed/ 0
PostgreSQL 9.1: Le estensioni https://blog.2ndquadrant.it/postgresql_9_1_le_estensioni/ https://blog.2ndquadrant.it/postgresql_9_1_le_estensioni/#comments Mon, 18 Apr 2011 10:05:41 +0000 http://2ndblog.dev.xcon.it/postgresql_9_1_le_estensioni/ Una delle caratteristiche più interessanti introdotte in PostgreSQL 9.1 è sicuramente la possibilità di creare delle EXTENSION.

Questa funzionalità risolverà il problema noto a tutti i DBA PostgreSQL che riguardava la gestione delle estensioni (ad esempio PostGIS), in cui ad ogni upgrade di versione le funzioni e i tipi di dato propri dell’estensione si mischiavano con gli altri oggetti del database. Dalla versione 9.1, se opportunamente sviluppate, verranno viste nelle operazioni di dump/restore come un semplice contenitore esterno.

Una EXTENSION è semplicemente un contenitore di oggetti SQL (per esempio tabelle, funzioni, tipi ecc…).

L’idea che molteplici oggetti del database possano essere considerati come un’unica entità porta notevoli vantaggi in termini di gestione e design del database, in quanto con un solo comando si possono aggiungere, modificare o cancellare tutti gli oggetti contenuti in una estensione.

Una caratteristica che ho trovato particolarmente interessante è sicuramente la possibilità di definire dipendenze tra EXTENSION diverse, il che rende ancora più strutturato e facilmente gestibile il design del database.

Ecco un semplice esempio di EXTENSION:

Un’estensione ha bisogno di almeno 2 file, uno chiamato .control e almeno uno chiamato .sql. Entrambi i file devono risiedere nella directory "extension" presente nella share di Postgres (anche se nel file .control è possibile indicare un path diverso per il/i file .sql).

Un esempio di file hello–1.0.sql:

CREATE OR REPLACE FUNCTION hello_f()
RETURNS TEXT LANGUAGE SQL AS 'SELECT ''Hello World''::TEXT';

E relativo file hello.control:

comment = 'A trivial extension'
default_version = '1.0'
superuser = false

Una volta creati questi due file, è possibile effettuare alcune operazioni, ad esempio:


CREATE EXTENSION hello;
DROP EXTENSION hello; # Cancella tutti gli oggetti
# contenuti nell'estensione
ALTER EXTENSION hello [ADD | DROP] member_object
ALTER EXTENSION hello SET SCHEMA nuovo_schema
ALTER EXTENSION hello UPDATE [TO nuova_versione]

Si rimanda alla documentazione ufficiale di PostgreSQL per maggiori informazioni.

Sono convinto che la facilità di utilizzo e l’estrema utilità renderanno le EXTENSION una delle caratteristiche più apprezzate dagli utilizzatori di PostgreSQL in futuro – oltre che un notevole vantaggio nello sviluppo del software per noi che facciamo consulenze di professione.

]]>
https://blog.2ndquadrant.it/postgresql_9_1_le_estensioni/feed/ 0