Notiziario settimanale PostgreSQL – 25 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)

Il Prague PostgreSQL Developers’ Day 2009 si terrà il 12 febbraio 2009 http://www.postgresql.org/about/event.808 Programma: http://www.postgres.cz/p2d2/2009/sched_en.html

La PostgreSQL Conference East 09 si terrà dal 3 al 5 aprile 2009 in Philadelphia (USA) alla Drexel University.

È attualmente aperto il Call for papers: http://www.postgresqlconference.org/2009/east/

Nuova indagine: abiti vicino a un PostgreSQL User Group? http://www.postgresql.org/community/

Novità sul prodotto PostgreSQL

Rilasciato pgpool-II 2.2beta1 . http://pgfoundry.org/projects/pgpool/

Rilasciato pgTAP 0.15 . http://pgtap.projects.postgresql.org/

Il suggerimento della settimana

Per ottenere migliori prestazioni, è di solito utile che la directory per il log delle transazioni di PostgreSQL (pg_xlog) risieda su un drive/array dedicato, meglio ancora su un canale I/O dedicato.

Offerte di lavoro su PostgreSQL per gennaio 2009

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

Notizie locali su PostgreSQL

Richard Broersma sta coordinando i volontari per uno stand a SCALE (vedi sotto). Mettersi in contatto con lui scrivendo a richard DOT broersma AT gmail DOT com.

SYDPUG si riunirà il 3 febbraio 2009 alle 6:30 pm presso Fujitsu Australia, in North Sydney. Mark Leslie parlerà della storia e delle motivazioni alla base di PostGIS. http://archives.postgresql.org/sydpug/

Molti dei soliti sospetti parteciperanno al FOSDEM il prossimo 7-8 febbraio a Bruxelles, in Belgio. http://wiki.postgresql.eu/wiki/FOSDEM_2009

JNBPUG si riunirà il 9 febbraio alle ore 19:00 presso il News Cafe in località New Road, Midrand, Johannesburg, Sudafrica.

SFPUG presenta: Reece Hart su un database Unison per la Biologia Computazionale. 10 febbraio 2009, luogo da stabilire. http://postgresql.meetup.com/1/calendar/9351228/

PostgreSQL sarà presente a SCALE, che si terrà a Los Angeles (USA), dal 20 al 22 febbraio prossimi. http://www.socallinuxexpo.org/

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

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/

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 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

Peter Eisentraut ha effettuato i seguenti commit:

  • In pgsql/src/interfaces/libpq/fe-secure.c, ripuliti dei messaggi.

  • Corretti i casi di test di regressione che facevano affidamento sul fatto che "ch" è compreso fra "cg" e "ci". Ciò elimina un fallimento del test sulle seguenti locale di glibc: br_FR, cs_CZ, cy_GB, es_EC, es_US, hsb_DE, ig_NG, ik_CA, sk_SK.

  • Corretti i casi di test di regressione che facevano affidamento sull’ordinamento di "aa". Alcune locale (da_DK, fo_FO, kl_GL, nb_NO, nn_NO in glibc) ordinano "aa" dopo "z".

  • Eliminati i casi di test di regressione che falliscono nelle locale che considerano equivalenti "v" e "w" (in glibc: et_EE, sv_SE, tk_TM). È emerso che in precedenza ci si era già occupati di ciò in select_1.out, che avevo dimenticato di aggiornare per una modifica non correlata. Ma si potrebbe comunque evitare la questione.

  • Rivisto il controllo dei permessi sui comandi DDL per le user mapping. CREATE/ALTER/DROP USER MAPPING sono adesso consentiti sia al proprietario del server che a un utente con privilegi USAGE per il proprio nome utente. È comunque più o meno ciò che richiede lo standard SQL (in più "definito da implementazione"). Nascosto information_schema.user_mapping_options.option_value, a meno che l’utente attuale sia quello associato con la user mapping, oppure sia il proprietario del server e il mapping sia per PUBLIC, oppure sia un superutente. Questo per proteggere le passwords. Risolto anche un bug in information_schema._pg_foreign_servers che nascondeva i server che usano wrappers nel caso in cui l’utente attuale non avesse avuto privilegi sul wrapper. Il comportamento corretto è di nascondere i server per i quali l’utente attuale non abbia privilegi sul server stesso.

  • In pgsql/src/nls-global.mk, non fare msgmerge con /dev/null; usa invece il file pot.

  • Regole automatiche di aggiornamento delle viste. Bernd Helmle.

  • Ricreato ecpg_config.h con un file di stamp creato da config.status, allo stesso modo di come è gestito pg_config.h. Ciò evita di rieseguire config.status ad ogni build, se è stato rieseguito il configure.

  • Rivisto lo stile dei messaggi per ecpg.

Magnus Hagander ha effettuato i seguenti commit:

  • Usati i nuovi nomi per il dominio text ("postgres-8.4" invece di "postgres"). Hiroshi Inoue.

  • In pgsql/src/tools/msvc/Install.pm, i files .mo per NLS sono installati come .mo, anche quando si esegue il build con MSVC. La stessa modifica fatta in precedenza per i build in autoconf. Hiroshi Inoue.

  • Rese di nuovo traducibili alcune stringhe che erano state accidentalmente rimosse in patch precedenti per risolvere problemi con gli argomenti di printf.

  • I build per Win32 eseguono sempre SetEnvironmentVariable() quando eseguono putenv(). In più, se sono linkati a versioni diverse dalla libreria di default MSVCRT (per esempio il build MSVC che linka MSVCRT80), aggiorna allo stesso tempo anche la cache nel MSVCRT di default. Ciò dovrebbe risolvere le questioni relative al settaggio di LC_MESSAGES sul build MSVC. Patch originale di Hiroshi Inoue e Hiroshi Saito, molto riscritta da me.

  • In pgsql/src/backend/utils/adt/pg_locale.c, rimosso il carattere randagio ‘ al termine della linea. Per qualche ragione inficiava la compilazione su OpenBSD anche se contenuto in un blocco #ifdef WIN32…..

  • In pgsql/src/backend/utils/mb/mbutils.c, bind esplicito di gettext all’encoding corretto su Windows. Patch originale di Hiroshi Inoue.

Tom Lane ha effettuato i seguenti commit:

  • In pgsql/src/interfaces/libpq/fe-secure.c, risolta una introduzione accidentale (suppongo) di caratteri di quoting non ASCII.

  • Supporto per i privilegi sulle colonne, come richiesto dallo standard SQL. Stephen Frost, con l’aiuto di KaiGai Kohei ed altri.

  • In pgsql/src/backend/libpq/ip.c, modificato il caso speciale esistente per AIX in pg_getaddrinfo_all() per gestire un ulteriore caso di malfunzionamento in getaddrinfo() di AIX. Come da report da Andrew Chernow.

Bruce Momjian ha effettuato i seguenti commit:

  • In pgsql/src/bin/psql/describe.c, documentata la referenza RELKIND_SPECIAL in psql, tratto da <= 8.1.x.

  • Resi i comandi d e dt di psql consistenti per le tabelle di sistema, ossia: evita a d di mostrare tabelle di sistema, fai sì che il pattern dS mostri i dettagli delle tabelle di sistema e fai sì che dtS mostri le tabelle di sistema e le tabelle utente, per consistenza con gli altri comandi d*.

  • In pgsql/doc/src/sgml/ref/psql-ref.sgml, resa più accurata la documentazione di d*S; sono stati aggiunti al display gli oggetti di sistema, non ristretti nel display; nuovo testo: "la lettera ‘S’ aggiunge l’elenco degli oggetti di sistema; senza il carattere ‘S’ vengono mostrati soltanto gli oggetti non di sistema".

  • In pgsql/doc/src/sgml/ref/select.sgml, documentato che SELECT FOR UPDATE/SHARE con ORDER BY può restituire risultati non ordinati correttamente, come da bug 4593. Patch all’indietro alla versione 8.3.x.

Alvaro Herrera ha effettuato i seguenti commit:

  • In pgsql/src/backend/postmaster/autovacuum.c, corretto in autovacuum uno switch errato di memory context che restituiva un contesto molto dopo la sua distruzione. Come da problema riportato da Justin Pasher. Patch di Tom Lane e me. 8.3 e successive non hanno tale bug poiché questo codice è stato ristrutturato per ragioni oscure. In 8.2 non si manifesta come un crash, ma è parso il caso di risolverlo comunque.

Heikki Linnakangas ha effettuato i seguenti commit:

  • Aggiunta nuova opzione a RestoreBkpBlocks() per indicare se invece del normale lock esclusivo debba essere usato un lock cleanup, e scaricata sulle funzioni di redo WAL la responsabilità per l’invocazione di RestoreBkpBlocks(). Lo sanno meglio loro il tipo di lock di cui hanno bisogno. Al momento, questo comporta solo uno spostamento delle cose senza cambiarle dal punto di vista funzionale, ma rende più chiara la patch hot standby attualmente soggetta a review.

  • Aggiunto nuovo codice di ritorno SPI_OK_REWRITTEN a SPI_execute e compagnia, per il caso in cui il comando sia riscritto in un altro tipo di comando. Il vecchio comportamento che restituiva la tag di comando dell’ultimo comando eseguito era alquanto sorprendente. In PL/pgSQL, per esempio, significava che se un comando veniva riscritto come un comando di utility, allora non veniva affatto impostato FOUND.

  • Dimenticato di gestire il nuovo codice di ritorno SPI_OK_REWRITTEN in un paio di posti.

  • Aggiornati i commenti per riflettere il fatto che tgenabled non è più un booleano. Jonah Harris, con un minimo aiuto mio.

  • In pgsql/src/backend/commands/vacuumlazy.c, scansa solo le pagine marcate come ‘clean’ nella mappa di visibilità, nel caso in cui anche le ultime 32 pagine siano marcate come ‘clean’.

L’idea è di evitare di sconfiggere le letture readahed del sistema operativo scansando una pagina qua e una là, e inoltre rende meno probabile che si perda una opportunità di avanzare relfrozenxid per saltare solo qualche pagina.

  • In pgsql/src/backend/access/transam/xlog.c, metti indietro fast-path nel caso in cui non ci sia alcun blocco di backup in RestoreBkpBlocks. Era andato perso nella mia recente patch di refactoring, come puntualizzato dalla patch hot standby di Simon.

Patch rifiutate (per adesso)

La patch di Jeff Davis per correggere il comportamento in occasione di alcuni conflitti di lock.

Patch in coda

Robert Haas ha consegnato una patch per la rimozione dei JOIN per la versione 8.5.

Magnus Hagander e Hiroshi Inoue hanno mandato ciascuno una nuova versione della patch a lc_messages per la lingua giapponese.

Teodor Sigaev ha consegnato una nuova versione della patch che aggiunge a GIN l’emulazione degli indici B-Tree.

Teodor Sigaev ha consegnato cinque ulteriori versioni della patch per i miglioramenti agli indici GIN.

Bernd Helmle ha consegnato una nuova versione della sua patch per gli aggiornamenti automatici delle viste.

Koichi Suzuki ha consegnato due ulteriori versioni della sua patch che migliora la prestazione di PITR.

Brendan Jurd ha consegnato una patch che corregge un errore nell’indicazione "AM/PM".

Hiroshi Inoue ha consegnato una nuova versione della patch che collega gettext() alla locale UTF8, quando è utilizzata.

Heikki Linnakangas ha consegnato una patch che rende readahead più efficiente in alcuni casi.

Bryce Nesbitt ha consegnato due ulteriori versioni della sua patch a pg_dump che consente di evitare la notifica al collettore delle statistiche.

Bryce Nesbitt ha consegnato una patch alternativa alla precedente, che documenta il comportamento del collettore di statistiche per quanto riguarda pg_dump.

Zdenek Kotala ha consegnato una patch che aggiunge la possibilità di avere un singolo record per tutti i tipi di reloption nella lista reloption.

Simon Riggs ha consegnato tre nuove versioni della patch per Hot Standby.

Andrew Dunstan ha consegnato una nuova versione della patch per effettuare pg_restore in modo parallelo.

Ramon Lawrence ha consegnato una nuova versione della patch che migliora gli hash join nelle distribuzioni di dati sghembe.

KaiGai Kohei e Robert Haas hanno consegnato alcune versioni delle patch per SE-PostgreSQL.

Koichi Suzuki ha consegnato una nuova versione della patch pg_readahead.

ITAGAKI Takahiro ha consegnato una patch che elimina gli warning del compilatore in pg_locale.c e pg_regress.c quando è abilitato nls.

Mark Kirkwood ha consegnato una patch che espone le statistiche di lock_wait sulle piattaforme senza Dtrace.

Heikki Linnakangas ha consegnato un paio di patch aggiuntive rispetto alla patch per Hot Standby.

Alvaro Herrera ha consegnato una patch che estrare reloptions da una tupla pg_class, ad uso esclusivo del codice di relcache.

Magnus Hagander ha consegnato una nuova patch che corregge pg_restore nei casi in cui a quest’ultimo vengano inviate opzioni incompatibili.

Martin Pihlak ha consegnato una patch che aumenta la tolleranza di autovacuum nei confronti delle statistiche "stagionate" fino al valore di autovacuum_naptime.

Alvaro Herrera ha consegnato una patch WIP che adegua autovacuum alle nuove reloptions. In questo modo viene rimossa pg_autovacuum.

This Post Has 0 Comments

Leave A Reply