Notiziario settimanale PostgreSQL – 9 novembre 2008

(Traduzione in lingua italiana delle PostgreSQL Weekly News a cura di Gianni Ciolli gianni.ciolli@2ndquadrant.it)

Rilasciate le versioni 8.3.5, 8.2.11, 8.1.15, 8.0.19 e 7.4.23 di PostgreSQL. Aggiornate i vostri sistemi! http://www.postgresql.org/docs/current/static/release.html

Il PostgreSQL and Perl Workshop di Pechino è stato un successo gigantesco, con più di 180 partecipanti. Grazie a He (laser) Weiping, Li (James) Qiang e molti altri nella comunità cinese di PostgreSQL per aver reso possibile quest’evento. http://conference.perlchina.org/bjpw2008

Novità sul prodotto PostgreSQL

Rilasciata la versione 0.01 di dumbofs. http://yiannnos.com/dumbofs

Rilasciata la versione 1.2 di epqa. http://epqa.sourceforge.net/

Rilasciata la versione 8.0.28 di Navicat. http://pgsql.navicat.com/

Rilasciata la versione 2.0.1 di Npgsql2. http://www.npgsql.org

Rilasciate le versioni 2.12 e 3.0.3 di Archiveopteryx. http://www.archiveopteryx.org/2.12 http://www.archiveopteryx.org/3.0.3

Offerte di lavoro su PostgreSQL per novembre 2008

http://archives.postgresql.org/pgsql-jobs/2008-11/threads.php

Notizie locali su PostgreSQL

Il PgDay di Rio de la Plata sta cercando sponsor. Gli interessati si mettano in contatto con admin AT postgres-arg DOT org.

Dickson Guedes sta cercando volontari per aiutare nell’organizzazione di un PgMeeting a Florianópolis. Scrivi a guediz AT gmail DOT com se puoi essergli d’aiuto.

Il prossimo 22 novembre David Fetter parlerà al PGDay di Rio de la Plata Buenos Aires http://pgday.postgres-arg.org/

David Fetter parlerà a Sydney in occasione dell’OSDC che si terrà dal 3 al 5 dicembre prossimi. http://www.osdc.com.au/2008/index.html

Rassegna stampa su PostgreSQL

Planet PostgreSQL: http://planet.postgresql.org/

Questo notiziario settimanale PostgreSQL è stato realizzato da David Fetter; traduzione in lingua italiana a cura di Gianni Ciolli.

Notizie o annunci destinati a questo notiziario dovranno pervenire entro la mezzanotte di domenica (le 15 nel fuso orario della California). I comunicati in lingua italiana dovranno essere inviati a pwn@itpug.org; per le lingue inglese o tedesca, si scriva rispettivamente a david@fetter.org o a pwd@pgug.de.

Patch applicate

Magnus Hagander ha effettuato i seguenti commit:

  • In pgsql/src/interfaces/libpq/fe-connect.c, corretto un commento sbagliato nel codice SSL.

Alvaro Herrera ha effettuato i seguenti commit:

  • In pgsql/src/backend/access/transam/xlogutils.c, corretti errori in cima ai commenti

  • In pgsql/doc/src/sgml/docguide.sgml, aggiornata la URL agli stylesheet Docbook DSSSL stylesheets, su indicazione di Gabriele Bartolini.

  • Ridotta la soglia di tolleranza sull’invecchiamento dei dati di pgstat per l’autovacuum, su indicazione della nota presente da lunga data nel sorgente e finalmente rimossa da questa patch.

  • In pgsql/src/backend/access/transam/clog.c, corretto TransactionIdSetStatusBit ; adesso durante il recovery non tenta più di cambiare una transazione da COMMITTED a SUBCOMMITED. Tale fenomeno è stato reso possibile dalle recenti modifiche al protocollo di commit di clog per le subtransazioni. Simon Riggs.

  • Corretto nel precedente commit uno sciocco errore di battitura.

  • In pgsql/src/pl/plpgsql/src/plpgsql.h, tolto da PLpgSQL_recfield il campo inutilizzato. Jonah Harris.

  • In pgsql/src/pl/plpgsql/src/plpgsql.h, annullata una patch indesiderata, su indicazione di Tom Lane.

Bruce Momjian ha effettuato i seguenti commit:

  • In pgsql/src/tools/pgindent/pgindent, piccolo miglioramento alla sintassi della shell.

  • In pgsql/doc/src/sgml/func.sgml, tolte tabulazioni dal file SGML.

  • In pgsql/doc/src/sgml/runtime.sgml, aggiunto un ":" mancante alla documentazione.

  • In pgsql/doc/src/sgml/libpq.sgml, documentato il fatto che il parametro ‘sslmode’ è ignorato se la comunicazione si svolge tramite Unix domain sockets; patch applicata retroattivamente alle versioni 8.3.X.

  • In pgsql/doc/src/sgml/config.sgml, documentato il fatto che la connessione SSL è possibile solo sulle connessioni tcp/ip nella sezione ‘ssl’ di postgresql.conf .

Tom Lane ha effettuato i seguenti commit:

  • Aggiunta la funzione pg_typeof(). Brendan Jurd.

  • In pgsql/src/bin/psql/describe.c, corretti due difetti nel codice di error-recovery della funzione describeOneTableDetails(); il codice che fa il dump dei valori della sequenza adesso gestisce le sequenze non raggiunte dal search path, e/o che hanno nomi che necessitano di un opportuno quoting. Non serve alcuna patch retroattiva in quanto questi problemi sono nati con la 8.4. Kris Jurka (con un po’ di abbellimento del codice da parte di tgl)

  • Ripulita la semantica confusa (per non dire inefficiente) di PageGetTempPage, suddividendola in tre funzioni dal comportamento meglio definito. Zdenek Kotala

  • In pgsql/src/include/catalog/pg_proc.h, ripensamenti: sembra adesso più sicuro che pg_typeof sia contrassegnato stabile e non immutabile, poiché dipende dai contenuti del catalogo di sistema.

  • In pgsql/src/backend/utils/adt/uuid.c, si usa il tipo "bool" per un flag booleano.

  • In pgsql/src/backend/utils/adt/trigfuncs.c, sono stati corretti gli warning del compilatore (compresa una chiamata a elog piuttosto difettosa); minori abbellimenti del codice.

  • Disattivato LOCK TABLE fuori dal blocco di una transazione (o da una funzione), poiché quasi sicuramente si tratta di un errore dell’utente. Da una discussione iniziata con una segnalazione di Sebastian Boehm.

  • In pgsql/src/pl/plpython/plpython.c, risolto un difetto introdotto in una recente patch che consente a plpython di gestire argomenti OUT: l’array proc->argnames deve essere inizializzato a zero in occasione della creazione, poiché il path di error recovery tenterà di deallocarne gli elementi.

  • A parecchi alias per PLpgSQL_datum.dno è stato cambiato nome in dno. L’auspicio è che, così facendo, si prevenga ogni futura confusione sul loro ruolo. Jonah Harris

  • In pgsql/src/backend/utils/adt/trigfuncs.c, questa manovra richiede davvero un commento…

  • Il comando dC di psql adesso accetta un parametro che specifica un pattern. I cast sono visualizzati solo se uno dei due tipi coinvolti corrisponde al pattern ("corrisponde" analogamente a quanto già avveniva per dT). Da una discussione recente.

  • Migliorata la performance degli inserimenti in massa, mantenendo sul buffer di destinazione corrente un pin (ma non un lock, per evitare possibili deadlock). Limitato ciò a un piccolo anello di buffers così da evitare che tali inserimenti consumino tutti i buffer. Robert Haas, in seguito a un’idea di Simon Riggs.

  • Implementato ALTER DATABASE SET TABLESPACE per spostare un intero database (o, perlomeno, la parte che risiede nel tablespace di default) in un altro tablespace. Guillaume Lelarge, con un po’ di aiuto da Bernd Helmle e Tom Lane

  • In pgsql/doc/src/sgml/func.sgml, migliorata la documentazione di pg_typeof, su segnalazione di David Wheeler.

  • Aggiunti ulteriori casi di test per citext, per conto di David Wheeler. Rimossi i test citext-to-and-from-xml, i quali causavano divergenze tra le installazioni con o senza libxml senza peraltro dimostrare granché. Modificata invece la ragione di citext_1.out, che è il risultato atteso nella locale en_US di glibc (e probabilmente anche in altre).

  • In pgsql/src/backend/utils/adt/datetime.c, corretto del codice recentemente aggiunto per la sintassi degli intervalli SQL contenenti anni e mesi; adesso si comporta correttamente in presenza di un segno meno davanti all’anno zero e a un mese non zero. Dopo una discussione con Ron Mayer.

  • Aggiunta la nuova variabile GUC "IntervalStyle" che disaccoppia gli intervalli prodotti da DateStyle, e crea un nuovo stile di intervallo che produce output corrispondente allo standard SQL (per lo meno per quanto riguarda intervalli che soddisfano le restrizioni imposte dallo standard). IntervalStyle è usata anche per risolvere il conflitto tra lo standard e le regole tradizionali di Postgres per l’interpretazione di un intervallo negativo in input. Ron Mayer

  • In pgsql/doc/src/sgml/datatype.sgml, aggiunta della documentazione riguardo alla gestione di frazioni negli intervalli in input (tale algoritmo di gestione è sempre esistito, ma non era mai stato documentato.)

  • Aggiunto un controllo di startup riguardo l’esistenza di pg_xlog e pg_xlog/archive_status . Quest’ultimo viene ricreato se assente (a differenza di quanto avviene per pg_xlog, come si può desumere dall’apposita discussione). Jonah Harris.

  • relhastriggers ha rimpiazzato pg_class.reltriggers: una semplice variabile booleana ("ci potrebbero essere triggers") che sostituisce un conteggio del numero di triggers.

Questa innovazione fa parte di quella infrastruttura del catalogo che è necessaria per una futura patch avente per oggetto l’indebolimento del locking necessario per aggiungere o rimuovere i trigger. La patch è stata spezzata in più parti per facilitare review e test. Di passaggio sono state eliminate le colonne relukeys, relfkeys e relrefs dalla tabella pg_class, poiché inutilizzate; tali colonne non erano state manutenute da tempo, e adesso non hanno più speranze di esserlo, in quanto si cerca di evitare il lock. Simon Riggs.

  • relhasrules e relhastriggers adesso funzionano come relhasindex, vale a dire: VACUUM le azzera al valore booleano falso invece di provare a ripulirle durante il DROP.

Andrew Dunstan ha effettuato i seguenti commit:

  • la funzione suppress_redundant_updates_trigger .

  • corretta suppress_redundant_updates_trigger() nel caso in cui la relazione abbia gli Oid, su segnalazione di KaiGai Kohei.

  • In pgsql/src/backend/utils/adt/trigfuncs.c, modificata la correzione a suppress_redundant_updates_trigger() nel caso in cui la relazione abbia Oids, facendola entrare in vigore solo se l’Oid attuale non è valido, su ulteriore riflessione di TGL

Peter Eisentraut ha effettuato i seguenti commit:

  • uuid_in() adesso effettua il parsing di molte più varietà di formati di input per il tipo UUID. L’approccio di questa patch è di consentire un trattino facoltativo dopo ogni gruppo di quattro cifre esadecimali. Robert Haas.

  • In pgsql/src/backend/postmaster/pgstat.c, corretto il warning del compilatore su una variabile non inizializzata.

  • aggiunta la funzione array_ndims. Autore: Robert Haas

  • Nuovo supporto sperimentale per la costruzione delle pagine di manuale usando docbook2x, una catena di strumenti basati su XSL. Con qualche rifinitura si potrebbe finalmente sbarazzarsi del vecchio e farraginoso meccanismo di costruzione delle pagine di manuale.

  • Qualche caso di test aggiuntivo per le funzionalità degli array

Heikki Linnakangas ha effettuato i seguenti commit:

  • In pgsql/src/backend/access/index/genam.c, occorre che la logica in systable_beginscan che traduce i numeri degli attributi delle tabelle in numeri di colonna riesca a gestire il caso in cui vi sono più chiavi di scansione sulla stessa colonna indicizzata; si tratta di un requisito necessario di toast_fetch_datum_slice().

Patches rifiutate (per adesso)

Nessuno è stato scontentato questa settimana :-)

Patches in coda

Bernd Helmle ha consegnato una nuova revisione della sua patch per le viste aggiornabili automaticamente.

Fujii Masao ha consegnato una patch che gestisce i segnali a supporto della replica sincrona.

Kenneth Marshall ha consegnato una patch che migliora l’indicizzazione hash.

Bruce Momjian ha consegnato una nuova revisione della sua patch SSL.

Martin Pihlak ha consegnato una nuova revisione della sua patch che implementa un gestore di connessioni compatibile SQL/MED.

Bryce Cutt ha consegnato una revisione della patch di Ramon Lawrence che migliora la performance dei multi-batch hash joins sugli insiemi di dati sghembi.

Jeff Davis ha consegnato due revisioni di una patch alla documentazione conseguente alla patch di Peter Eisentraut che implementa i tipi distinti SQL:2008.

Simon Riggs ha consegnato una nuova revisione della sua patch che implementa le modifiche all’infrastruttura di cui abbisognano hot standby e recovery.

Greg Smith ha consegnato due revisioni di un programma python che genera postgresql.conf.

Hitoshi Harada ha consegnato quattro nuove revisioni della sua patch per le funzioni di windowing.

David Rowley ha consegnato una patch, conseguente alla patch di Hitoshi Harada sulle funzioni di windowing, che mette a tacere alcuni warning del compilatore.

Dopo il feedback di Ibrar Ahmed, Benedek Laszlo ha consegnato una patch rivista per il supporto ai ruoli in pg_dump.

Fujii Masao ha consegnato una patch per iniziare e gestire un processo di WAL-sender, come parte di una replica sincrona.

Kenneth Marshall ha consegnato una patch per collaudare citext.

Heikki Linnakangas ha consegnato una patch per correggere un infelice svista nella creazione degli indici che seguiva dalla patch dei fork delle relazioni.

Charlie Savage ha consegnato due revisioni di una patch che corregge i problemi di compilazione della versione 8.3.5 su Windows Vista con MingW e msys.

ITAGAKI Takahiro ha consegnato una patch che riassume le sue patch per auto-explain e pg_stat_statement con la patch querydesc di Martin Pihlak.

KaiGai Kohei ha consegnato un’altra collezione di patch per SE-PostgreSQL.

Alvaro Herrera ha consegnato una patch per assicurarsi che il bit PD_PAGE_FULL sia ripristinato dopo il replay di un record WAL di tipo heap_update.

Michael Meskes ha consegnato due revisioni di una patch che automatizza la generazione della grammatica di ecpg.

Greg Sabino Mullane ha consegnato due revisioni di una patch che rende i comandi d di psql consistenti, richiedendo una S aggiuntiva per visualizzare gli oggetti di sistema.

Zdenek Kotala ha consegnato una patch che, aggiungendo un apposito parametro, consente di trasmettere suggerimenti in merito al DDL.

Robert Haas ha consegnato due revisioni di una patch che implementa nuovamente la funzione array_length() di Jim Nasby in C.

Emmanuel Cecchet ha consegnato un’altra revisione della sua patch che migliora le transazioni che coinvolgono tabelle temporanee.

Alvaro Herrera ha consegnato una nuova revisione della sua patch che aggiunge controlli CRC a livello di blocco.

Jeff Davis ha consegnato due revisioni del modulo contrib auto-explain di ITAGAKI Takahiro, con contribuzioni di Martin Pihlak.

This Post Has 0 Comments

Leave A Reply