Notiziario settimanale PostgreSQL – 4 gennaio 2009

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

Buon Anno dal Notiziario settimanale PostgreSQL :)

Novità sul prodotto PostgreSQL

Rilasciata la versione 4.0 di PyGreSQL. http://www.PyGreSQL.org/

Devrim GUNDUZ ha rilasciato una nuova collezione di RPM con delle snapshot. Collaudatele :) http://yum.pgsqlrpms.org/news-8.4devel-ready-for-testing.php

Notizie locali su PostgreSQL

SYDPUG si riunirà il 3 febbraio 2009 alle 6:30 pm. Controllare periodicamente questa pagina per i dettagli. http://archives.postgresql.org/sydpug/

Il 25 febbraio Andreas ‘ads’ Scherbaum terrà una comunicazione al Perl Workshop 2009, a Frankfurt am Main, in Germania. http://www.perl-workshop.de/talks/151/view

Nei giorni 21 e 22 maggio 2009 all’università di Ottawa, in Canada, si terrà PGCon 2009. Nei due giorni precedenti si terranno dei tutorials. http://www.pgcon.org/2009/papers.php

Il 23 e 24 ottobre 2009 si svolgerà PGCon Brazil, presso Unicamp, nella città di Campinas, stato di San Paolo.

Rassegna stampa su PostgreSQL

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

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

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

Michael Meskes ha effettuato i seguenti commit:

  • Primo turno di modifiche whitespace a ecpg. Tutto eccetto connect-test1 dovrebbe essere a posto.

  • In pgsql/src/interfaces/ecpg/test/expected/connect-test1.c, l’ultimo test (finalmente).

Tom Lane ha effettuato i seguenti commit:

  • In pgsql/doc/src/sgml/ref/select.sgml, risolta svista nella documentazione del comportamento di default del window frame, per Hitoshi Harada.

  • In pgsql/src/backend/utils/cache/relcache.c, risolta una disattenzione nella patch ALTER TABLE ENABLE/DISABLE RULE: il nuovo campo abilitato necessita d’essere incluso nelle comparazioni equalRuleLocks(), altrimenti le updates fallirebbero nella propagazione in relcache quando hanno un reference count positivo (p.e. quando qualcuno sta usando la relcache). Come da report di Alex Hunsaker.

  • Ridotto l’ultimo gruppo di test di regressione paralleli a 19, come da errore sul membro bear della buildfarm. Sincronizzato l’ordine dei test in serial_schedule con quello in parallel_schedule.

  • Aggiunto supporto base per le clausole window frame alla patch delle funzioni window. Questo include la capacità di forzare la copertura dell’intera partizione da parte del frame e la capacità di terminare il frame esattamente alla riga attuale invece che all’ultima riga ad essa uguale secondo ORDER BY. L’ulteriore supporto per la sintassi delle clausole frame richiede un intervento non banale sul codice window aggregato, per il quale si dovrà attendere almeno la versione 8.5.

  • Aggiunto un attributo WINDOW a CREATE FUNCTION e istruito pg_dump in merito in modo da rendere possibili le funzioni window definite dall’utente. Per il momento si dovranno scivere in C, per la carenza di qualsiasi interfaccia alla API WindowObject nei PL disponibili, ma meglio così che niente. C’è stato un dibattito sulla miglior sintassi; ho concluso scegliendo la posizione "è un attributo" — l’altro approccio si sarebbe tradotto inevitabilmente in maggior lavoro ed il mercato delle funzioni window definite da utente è probabilmente troppo piccolo per giustificare lo sforzo.

  • Utilizzo consistente della formattazione multi-line per tutte le colonne ACL stampate dai vari comandi di psql, non soltanto per "z". Nel mentre, risolte alcune infelicità nei nuovi comandi "d" aggiunti per i cataloghi SQL-MED. Andreas Scherbaum e Tom Lane.

  • In pgsql/src/bin/psql/describe.c, risolto un altro problema nei display di "d" in SQL-MED: dovrebbe descrivere l’errore con maggiore chiarezza se si lancia il comando su un server troppo vecchio.

  • Lancia un errore se una fa riferimento a una window che già ha una clausola frame, come sembra essere richiesto leggendo le specifiche SQL in filigrana. Come da discussione con Pavel, non facendo ciò si rischia di confondere gli utenti.

  • In pgsql/src/backend/tcop/postgres.c, risolta una disattenzione nella mia patch di due settimane fa che assicurava che una snapshot fosse disponibile durante l’input del data type nell’elaborazione del messaggio Bind. Avevo posto PopActiveSnapshot() o equivalente proprio prima PortalDefineQuery, luogo non sicuro (in 8.3 e successive) perché si sta mantenendo un refcount della plancache che non è stato ancora assegnato al portale. Qualsiasi errore produrrebbe la perdita del refcount. Forse non è molto probabile che PopActiveSnapshot lanci un elog, ma potrebbe succedere. Riordinato il codice e aggiunto un altro commento che avvisa del pericolo.

  • Risolte un paio di date di copyright mancanti.

  • Modificato guc.c per consentire l’uso degli underscores nei nomi della classi variabili custom, e cambiato il nome delle variabili GUC custom di auto_explain da explain.xxx a auto_explain.xxx. Come da discussione sulla patch pg_stat_statements, sembra una buona idea aderire alla convenzione che il nome delle classi di variabili custom sia analogo al nome dei moduli che le definiscono. Eseguito commit separato, poiché ciò dovrebbe accadere indipendentemente da cosa succede con pg_stat_statements.

  • In pgsql/src/backend/utils/misc/guc.c, write_nondefault_variables deve prendersi cura di scrivere per primo custom_variable_classes, altrimenti altri backends che leggono il file potrebbero rifiutare i valori delle variabili custom. Come da esperimenti con auto_explain.

  • Creato un "shmem_startup_hook" che verrà chiamato alla fine dell’inizializzazione della shared memory, così da dare ai moduli caricabili un posto ragionevole per creare qualsiasi area di memoria condivisa di cui abbiano bisogno. Quasta è la logica conclusione della nostra precedente creazione di RequestAddinShmemSpace() e RequestAddinLWLocks(). Non abbiamo bisogno di uno shmem_shutdown_hook esplicito, perché il meccanismo già esistente fornito da on_shmem_exit e on_proc_exit serve a tale scopo. Aggiustato anche SubPostmasterMain in modo che le librerie che vengono caricate in postmaster siano caricate in tutti i processi figlio, non soltanto sui backend regolari. Questo migliora la consistenza con il comportamento non-EXEC_BACKEND e potrebbe essere necessario per la funzionalità di alcuni tipi di add-ons.

  • Consentito ai moduli caricabili di creare variabili GUC PGC_POSTMASTER, ma soltanto quando vengono caricati attraverso shared_preload_libraries. Necessario per supportare pg_stat_statements o pressoché ogni altra cosa che abbia bisogno di un GUC per controllare la dimensione di una allocazione di memoria condivisa.

  • Aggiunta una funzione pg_encoding_mbcliplen() che è come pg_mbcliplen() eccetto che il chiamante può specificare la codifica in cui lavorare; questo servirà per pg_stat_statements. Nel frattempo, eseguito hacking marginale sulle efficienze e ripuliti alcuni commenti. Evitato al path del codice di single-byte-encoding di oltrepassare la lunghezza definita della stringa (quest’ultimo è un bug che a un certo punto potremmo aver bisogno di riportare nelle versioni precedenti).

  • Aggiunto contrib/pg_stat_statements per il tracciamento delle statistiche di esecuzione dei comandi a livello server. Takahiro Itagaki.

Heikki Linnakangas ha effettuato i seguenti commit:

  • In pgsql/src/include/access/nbtree.h, il flag che marca le tuple morte è al giorno d’oggi chiamato LP_DEAD, non LP_DELETE. Simon Riggs.

  • In pgsql/src/backend/catalog/storage.c, risolto un bug imbarazzante nella recente patch di refactoring smgr: i records WAL dovrebbero essere scritti soltanto per tabelle non-temp. Rapporto e caso di test da Mark Kirkwood e Simon Riggs.

Bruce Momjian ha effettuato i seguenti commit:

  • In pgsql/contrib/uuid-ossp/uuid-ossp.c, aggiunta una virgola in modo che questa nota copyright sia rilevata nel 2010.

  • In pgsql/src/tools/copyright, resa la virgola opzionale per il cambiamento del testo di copyright.

  • In pgsql/src/tools/copyright, menzionato il fatto che anche src/interfaces/libpq/libpq.rc.in necessita di essere aggiornata per il copyright.

  • In pgsql/src/tools/copyright, sii più intelligente — accetta la virgola mancante, e forza la virgola se essa manca.

Joe Conway ha effettuato i seguenti commit:

  • In pgsql/contrib/dblink/dblink.c, risolto il bug come riportato da Oleksiy Shchukin – il secondo argomento per dblink_get_result(text,bool) è PG_GETARG_BOOL(2), mentre dovrebbe essere PG_GETARG_BOOL(1). Applicata una semplice correzione solo ai rami passati. Andranno applicate modifiche più estese a HEAD, come da suggerimento di Tom.

Alvaro Herrera ha effettuato i seguenti commit:

  • In pgsql/src/include/miscadmin.h, esportato IsUnderPostmaster su win32. ITAGAKI Takahiro

Patch rifiutate (per adesso)

Nessuno è stato scontentato questa settimana :-)

Patch in coda

Jeff Davis ha consegnato un’aggiornamento della patch che emula gli indici B-tree con gli indici GIN.

Nikhil Sontakke ha consegnato due versioni di una patch che risolve un bug legato al cast in PL/PgSQL.

KaiGai Kohei ha consegnato due ulteriori versioni delle sue patch SE-PostgreSQL.

Andrew Dunstan ha consegnato un’altra versione della sua patch per il restore parallelo.

Alvaro Herrera ha consegnato due ulteriori versioni della sua patch per migliorare reloptions.

Bryce Cutt ha consegnato una nuova versione della patch che migliora le prestazioni dei multi-batch hash join sugli insiemi di dati sghembi.

Kevin Grittner ha consegnato una patch con delle spiegazioni sul livello di isolamento SERIALIZABLE per le transazioni.

Stephen Frost ha consegnato due ulteriori versioni della sua patch che consente una gestione dei permessi a livello di colonna.

Magnus Hagander ha consegnato una patch che aggiunge un parametro denominato include_realm a pg_hba.conf per Kerberos.

Simon Riggs ha consegnato una patch che corregge un errore in lazy_truncate_heap.

Joe Conway ha consegnato due ulteriori versioni di una patch che integra le connessioni SQL/MED con dblink.

Alvaro Herrera ha consegnato due ulteriori versioni della sua patch per il miglioramento generale del meccanismo di reloption.

Robert Haas ha consegnato una nuova versione della patch posix_fadvise.

Magnus Hagander ha consegnato una nuova versione della sua patch SSL per libpq.

Alex Hunsaker ha consegnato una patch, basata sulla patch relativa a reloptions, per controllare separatamente per ciascuna tabella tre manopole legate a lz_compression.

This Post Has 0 Comments

Leave A Reply