Notiziario settimanale PostgreSQL – 15 marzo 2009

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

Presto usciranno le nuove versioni 8.3.7, 8.2.13, 8.1.17, 8.0.21 e 7.4.25 che correggono alcuni bug. Preparatevi ad aggiornare! [NdT del 17 marzo: sono appena uscite, quindi potete aggiornare, maggiori informazioni a http://www.itpug.org e http://www.postgresql.org]

Nuova indagine: quali linguaggi di programmazione utilizzate con PostgreSQL? www.postgresql.org/community

In Brasile sono previsti molti PGDay: Sao Paulo, Porto Velho, Ji-Parana e Brasilia. Ulteriori dettagli la prossima settimana!

Devrim GUNDUZ ha rilasciato un nuovo gruppo di RPM per le snapshot. Fatevi avanti per il test :) http://yum.pgsqlrpms.org/news-8.4devel-ready-for-testing.php

Il sito francese 01.net ha scelto PostgreSQL come il miglior database Open Source mai esistito. http://www.01net.com/editorial/404090/postgresql-meilleure-base-de-donnees-open-source/

Presto arriverà un video di PostgreSQL!

Novità sul prodotto PostgreSQL

Rilasciata la versione 2.2 beta 1 di Jopr, un’applicazione per la gestione e il monitoraggio dei server. http://pilhuhn.blogspot.com/2009/03/public-beta-of-jopr-22-released.html

Rilasciata la versione 1.2 di pglesslog, una patch che riduce la dimensione dei WAL. http://pglesslog.projects.postgresql.org/

Rilasciata la versione 2.1.9 di Skytools, un sistema di replica basato su Python. http://pgfoundry.org/projects/skytools/

La novità della settimana di PostgreSQL 8.4

pg_stat_user_functions. Questo nuovo sistema permette di vedere quali funzioni sono state chiamate, quante volte, e quanto tempo è stato speso in ciascuna funzione e nelle funzioni chiamate da essa.

Il suggerimento della settimana

pg_fouine analizza i log di PostgreSQL e fa un sommario delle query più lente. Il codice CVS attuale funziona anche con i log in formato CSV.

Offerte di lavoro su PostgreSQL per marzo 2009

http://archives.postgresql.org/pgsql-jobs/2009-03/threads.php

PostgreSQL Local

Il PostgreSQL User Group tedesco avrà uno stand, due talk e un workshop presso il Linuxdays Chemnitz, il 14 e 15 marzo 2009. Maggiori informazioni in lingua tedesca qui: http://andreas.scherbaum.la/blog/archives/525-PostgreSQL-auf-den-Chemnitzer-Linuxtagen.html

PostgreSQLFr avrà uno stand a Solutions Linux 2009, dal 31 marzo al 2 aprile a Parigi. Iscrivetevi a sas AT postgresql DOT fr oppure tramite le pagine wiki in lingua francese: http://postgresql.fr/sl2009:start

Sono aperte le iscrizioni alla PostgreSQL Conference (JDCon) East 2009. http://www.postgresql.us/purchase

Kevin Kempter parlerà di backup e recovery al primo incontro del PUG di Denver (USA) in data 8 aprile 2009. http://www.diapug.org/Meeting.html

La PostgreSQL Conference U. S. organizzerà un PgDay nell’ambito della LinuxFest Northwest (25, 26 aprile). Informazioni su come proporre una comunicazione sono disponibili sul sito http://www.postgresqlconference.org/

Michael Renner farà un workshop sulla replica con PostgreSQL a Netways OSDC 2009 il 29 e 30 aprile a Norimberga, in Germania. http://www.netways.de/english/osdc/y2009/programm/w/michael_renner_postgresql_repliziert_ein_ueberblick/

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

Segnatevi la data: pgDay San Jose (USA). Domenica 19 luglio subito prima di OSCON. Saranno presto annunciate ulteriori informazioni! (incluso il call for papers)

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 Josh Berkus; 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

Bruce Momjian ha effettuato i seguenti commit:

  • In pgsql/src/backend/utils/time/tqual.c, aggiunto commento riepilogativo sulle funzioni di visibilità. Aggiunta URL riguardo al problema di Halloween.
  • In pgsql/doc/src/sgml/monitoring.sgml, patch della documentazione per le sonde recentemente aggiunte. Robert Lor

Peter Eisentraut ha effettuato i seguenti commit:

  • Accettati ‘on’ e ‘off’ come input per i tipi di dati booleani, unificando la sintassi valida per i tipi di dato e le GUC. ITAGAKI Takahiro
  • Modificato il caso di test di regressione in modo che l’ordinamento dei numeri rispetto alle lettere non abbia importanza. Così si risolve il problema coi test nella locale Ceca.
  • In pgsql/src/backend/utils/adt/bool.c, in parse_bool_with_len, evitato il crash nel caso in cui non venga passato alcun puntatore ai risultati.
  • In pgsql/src/backend/po/ru.po, aggiornamenti nelle traduzioni.

Teodor Sigaev ha effettuato i seguenti commit:

  • In pgsql/src/backend/tsearch/wparser_def.c, impedita la ricorsione nel parsing di stringhe simili a indirizzi email, ma con più di un carattere ‘@’. Patch di Heikki Linnakangas.
  • In pgsql/src/backend/tsearch/wparser_def.c, alcune lingue hanno simboli con ampiezza di visualizzazione pari a zero, e/o vocali o segni che non sono un carattere alfabetico, benché non interrompano le frasi. Perciò essi vengono trattati come parte di una parola. Come da discussione fuori della lista con Dibyendra Hyoju e Bal Krishna Bal in merito alla lingua nepalese e all’alfabeto Devanagari.

Tom Lane ha effettuato i seguenti commit:

  • Corretto set_subquery_pathlist() per fargli copiare la subquery dell’RTE prima che venga gestita e frammentata del planner. Ciò impedisce l’errore “failed to locate grouping columns” recentemente riportato da Dickson Guedes. Esso accade perchè il planning rimpiazza SubLinks con SubPlans nella lista target della subquery e exprTypmod() è più intelligente nell’uso del primo che del secondo, cambiando il tipo apparente dell’output delle colonne della subquery. Sembra si tratti di una mancanza che dovremmo risolvere in exprTypmod(), però ciò risulterebbe in una patch molto più invasiva con possibili effetti collaterali in altre parti, così lo farò soltanto in HEAD. Patch indietro fino alla 8.3. Probabilmente la mancanza di un passaggio di copia può essere pericolosa in tutte le versioni precedenti, ma non essendo a conoscenza di problemi noti, mi tratterrò dal far pagare ai vechhi rami di sviluppo il costo aggiuntivo.
  • Adesso i nodi SubPlan trasportano il typmod e il datatype OID del risultato. Questo per consistenza con la (relativamente) recente aggiunta di typmod a SubLink. Un esempio del perché si tratti di una buona idea va cercato nel recente bug “failed to locate grouping columns”, che non sarebbe accaduto se un SubPlan avesse esposto le stesse informazioni typmod del SubLink da cui deriva. Questa correzione potrebbe essere riportata alle versioni precedenti, visto che non influisce su alcun formato dati su disco, ma per il momento ciò non sembra necessario.
  • In pgsql/src/backend/optimizer/path/indxpath.c, migliorato match_special_index_operator() al fine di riconoscere che LIKE con un modello di tipo esatto (senza alcuna wildcard) può essere ottimizzato e indicizzato in alcuni dei casi dove un modello che indica solo il prefisso non può. Specificamente, dal momento che la clausola di indice richiesta è una semplice uguaglianza, ciò funziona per indici text/varchar anche nel caso in cui la locale non sia C. Non sono sicuro di quanto spesso questo caso capita, ma visto che di fatto non richiede alcun lavoro aggiuntivo per essere gestito, allora potremmo prenderlo per buono. Motivato da una discussione sulla lista JDBC.
  • Code review per le sonde dtrace aggiunte per adesso alla 8.4. Sistemato il posizionamento di alcune sonde bufmgr, tolti argomenti di percorso ridondanti e a rischio di perdita di memoria per smgr__md__read__done e smgr__md__write__done, risolto il tentativo fallace di ricalcolare lo spazio usato in sort__done, riordinata la formattazione in posti in cui non sono sicuro che pgindent riesca da solo a fare un buon lavoro.
  • In pgsql/src/backend/utils/adt/formatting.c, risolto il core dump dato dal dereferenziamento del null-pointer in to_char() quando i codici di formattazione datetime vengono applicati erroneamente a un argomento numerico. (Il codice produce ancora un messaggio d’errore piuttosto sbagliato in tali casi, ma mi limiterò a fermare il crash per il momento). Come da bug #4700 da Sergey Burladyan. Il problema esiste in tutti i rami supportati, perciò ho inserito le patch all’indietro a tutte le versioni supportate. In HEAD ho anche rimosso del codice mal scritto nelle vicinanze del codice di gestione della cache.
  • In pgsql/doc/src/sgml/release.sgml, aggiornate le note di rilascio per le versioni precedenti.
  • In pgsql/src/backend/storage/buffer/bufmgr.c, ripristinato l’ordinamento precedente della sonda BUFFER_FLUSH_START. Avrei voluto fargli includere l’orario per la possibile chiamata a smgropen(), ma ciò produce un dereferenziamento di un puntatore nullo :-(. Una soluzione alternativa sarebbe di recuperare il tag del buffer invece di guardare a *reln, ma per ora mi limiterò a rimetterlo com’era prima. Fra l’altro, questo indica che le sonde DTrace valutano i loro argomenti anche quando sono nominalmente inattive. Di nuovo, quindi: questo come si concilia con la proprietà di essere “a costo zero”?
  • In pgsql/src/bin/pg_dump/pg_backup_archiver.c, risolto identify_locking_dependencies in modo da riflettere il fatto che fix_dependencies precedentemente ripuntava le dipendenze TABLE a TABLE DATA. Mea culpa.
  • Sistemato il codice per le conversioni di anno più numero di giorno ISO in data, come da bug #4702 e discussione successiva. In particolare, reso funzionante per anni specificati usando campi di tipo AD/BC o CC, e corretto il test per l’errore “no year specified” in modo che non scatti inappropriatamente per 1 Bryce Cutt (cosa che accadeva anche in porzioni di codice che non avevano nulla a che fare con to_timestamp). Ho eseguito anche un piccolo miglioramento estetico del codice nella parte “numero di giorno non ISO”. Quest’area è stata tutta fatta a pezzettini, ma visto che il codice é stato riscritto più volte, sarebbe considerevolmente problematico fare la patch all’indietro. Si tratta di un caso così limite che non sembra ne valga la pena.
  • Corretto contrib/hstore in modo da lanciare un errore per chiavi o valori che non si adattano alla sua struttura dati, invece di troncarli silenziosamente. Andrew Gierth.

Alvaro Herrera ha effettuato i seguenti commit:

  • Rimossa l’inclusione di pg_trace.h da c.h e aggiunta nei files .c che ne necessitano. Se ne ha bisogno soltanto in 8.3 perché è già cosi in HEAD, e i rami precedenti non supportano DTrace. Ciò consente la compilazione di moduli esterni su macchine Linux sulle quali è stato recentemente aggiunto il supporto SystemTap, nel caso in cui gli header SystemTap richiesti non siano presenti sulla macchina di build. Approccio suggerito da Tom Lane dopo un probleam riportato da Devrim Gunduz in un build RPM.

Andrew Dunstan ha effettuato i seguenti commit:

  • Usato lo storage thread-local per querybuffer in fmtId() su Windows, quando necessario (per esempio quando è in esecuzione pg_restore, che potrebbe essere in parallelo). Riapri il file archivio soltanto quando c’è davvero bisogno di leggerlo, in codice parallelo. Altrimenti, chiudilo immediatamente in un worker, se possibile.

Patch rifiutate (per adesso)

Nessuno è stato scontentato questa settimana :-)

Patch in coda

KaiGai Kohei ha consegnato tre nuove versioni delle sue patch SE-PostgreSQL.

Greg Sabino Mullane ha consegnato una patch che elimina da pg_dump le opzioni -i e -d, lasciando soltanto le forme non abbreviate, poiché possono confondere l’utente.

ITAGAKI Takahiro ha consegnato due versioni di un profiler con approccio di tipo “sampling” per la 8.5.

Fujii Masao ha consegnato una nuova versione delle patch che migliorano le prestazioni di PITR.

Alvaro Herrera ha consegnato una patch per la 8.3 che include pg_trace.h solo nei files che ne hanno davvero bisogno.

This Post Has 0 Comments

Leave A Reply