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

Gli ultimi elementi della Commitfest per la 8.4 sono stati chiusi. Attendetevi un annuncio importante per questa settimana.

La repository git adesso utilizza i login della comunità, ed è molto più semplice da usare e gestire. http://git.postgresql.org/

Nuovo sondaggio: qual è il vostro strumento preferito di replica per PostgreSQL? http://www.postgresql.org/community/

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

Novità sul prodotto PostgreSQL

Rilasciata la versione 1.10 beta 2 di pgAdmin, uno strumento grafico per la gestione di PostgreSQL. http://www.postgresql.org/ftp/pgadmin3/release/v1.10.0-beta2/

Rilasciata la versione 2.12.0 di DBD::Pg, un connettore Perl per PostgreSQL. http://search.cpan.org/dist/DBD-Pg/

Il suggerimento della settimana

Si può utilizzare un file pg_service per impostare "profili" di diversi server ai quali connettersi.

La novità della settimana di PostgreSQL 8.4

Pulizia SSL: Magnus Hagander ha ripulito il codice per la connessione SSL, rendendolo più intuitivo ed affidabile. Adesso è possibile anche specificare quale certificato debba essere usato da una determinata connessione client.

Offerte di lavoro su PostgreSQL per marzo 2009

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

Notizie locali su PostgreSQL

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

Il PgDay Brasilia sarà il 17 aprile. Per partecipare mettersi in contatto con fernando.ike AT gmail DOT com oppure eduardo DOT santos AT planejamento DOT gov DOT br.

La Percona Performance Conference si svolgerà presso il Santa Clara Convention Center, Santa Clara, California, USA http://conferences.percona.com/

Aperto il CfP per il PgDay São Paulo, che si terrà il 24 aprile. Per partecipare mettersi in contatto con marins DOT consultoria AT gmail DOT com oppure marcelojscosta AT gmail DOT com.

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/

Ci saranno anche dei PgDay il 29 aprile a Porto Velho, RO, e il 30 in Ji-Parana, RO. Per partecipare mettersi in contatto con Luis Fernando Bueno: proflfbueno AT gmail DOT com.

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/

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

Peter Eisentraut ha effettuato i seguenti commit:

  • In pgsql/src/pl/tcl/expected/pltcl_queries_1.out, aggiunto il file atteso per le installazioni con il locale abilitato.

  • In pgsql/src/bin/psql/help.c, corretto un mio errore di digitazione.

  • In pgsql/src/bin/psql/command.c, nessun punto se non è una sentenza.

  • Polish SQL/MED terminologia.

  • In pgsql/src/bin/psql/help.c, le colonne nell’output di ? sono adesso allineate in modo consistente.

  • In pgsql/src/bin/psql/help.c, aggiornato il conteggio delle linee nell’output di ? (ottenuto da ‘wc -l’).

  • In pgsql/src/backend/catalog/catalog.c, completata la lista dei nomi validi di fork, usando inoltre i doppi apici.

  • In pgsql/src/backend/libpq/hba.c, usa doppi apici invece che singoli.

  • Supporto del plurale in gettext. Nel backend, ho modificato soltanto una manciata di istanze esemplari o all’apparenza importanti affinchè usassero il supporto del plurale; probabilmente c’è ancora molto lavoro. Per il resto del codice, questo dovrebbe coprire tutti i casi rilevanti.

Bruce Momjian ha effettuato i seguenti commit:

  • In pgsql/doc/src/sgml/release.sgml, riordinate le sezioni delle note di rilascio di 8.4.

  • In pgsql/doc/src/sgml/release.sgml, correzione: ansi-join -> anti-join.

  • In pgsql/doc/src/sgml/release.sgml, documentato che Datestyle non controlla più l’intervallo di output, come da suggerimento di Ron Mayer

  • In pgsql/doc/src/sgml/release.sgml, rimossi gli elementi intervallo duplicato (frazioni di secondo); Ron Mayer.

  • In pgsql/doc/src/sgml/release.sgml, rifrasate meglio le note di rilascio per quanto riguarda gli intervalli.

  • In pgsql/doc/src/sgml/release.sgml, corretta una attribuzione nelle note di rilascio: "Support the IS0 8601 time interval syntax (Tom, Kevin Grittner)" come da segnalazione di Ron Mayer.

  • In pgsql/doc/src/sgml/release.sgml, primo turno di cambiamenti delle note di rilascio da Guillaume Smet.

  • In pgsql/doc/src/sgml/release.sgml, additato Greg Sabino Mullane come l’istigatore dell’aumento del target delle statistiche.

  • In pgsql/doc/src/sgml/release.sgml, secondo gruppo di correzioni delle note di rilascio da Guillaume Smet.

  • In pgsql/doc/src/sgml/release.sgml, aggiornata la dicitura del rilascio, come da suggerimento di Greg Stark.

  • In pgsql/doc/src/sgml/release.sgml, documentato nelle note di rilascio che NOT IN è soltanto per clausole NOT EXIST. Andrew (RhodiumToad) Gierth.

  • In pgsql/doc/src/sgml/monitoring.sgml, aggiunta documentazione del fatto che le sonde dtrace valutano i loro parametri anche quando non sono attive. Spiegato come prevenirlo con un check ENABLED().

  • Documentato meglio il comportamento di PQinitSSL(0) con riguardo a libcrypto.

  • In pgsql/doc/src/sgml/ref/alter_role.sgml, documentato meglio che SET ROLE non usa le impostazioni di ALTER ROLE SET; dicitura suggerita da Josh Berkus.

  • In pgsql/doc/src/sgml/release.sgml, aggiornate le note di rilascio per dire che citext e consapevole dei caratteri multi-byte, come da sugerimento dell’autore della patch.

  • In pgsql/src/interfaces/libpq/fe-secure.c, chiarita la nomenclatura di variabile: pq_initssllib -> pq_init_ssl_lib.

  • In pgsql/doc/src/sgml/release.sgml, resa consistente l’elenco dei nomi nelle note di rilascio 8.4, per quanto riguarda Itagaki Takahiro.

  • In pgsql/doc/src/sgml/release.sgml, aggiunti marcatori SGML per comandi/letterali/applicazione/etc nelle note di rilascio; c’è ancora molto lavoro da fare.

  • In pgsql/doc/src/sgml/release.sgml, ulteriore lavoro markup sulle note di rilascio.

  • In pgsql/doc/src/sgml/release.sgml, riaggiunte note di rilascio per la versione 8.3.7.

  • In pgsql/doc/src/sgml/config.sgml, aggiornata la documentazione per constraint_exclusion, poiché tale parametro ha ora tre valori, e non soltanto abilita/disabilita.

  • In pgsql/doc/src/sgml/release.sgml, prima versione delle note di rilascio di 8.4; markup/pulizia/riorganizzaione ancora necessarie.

  • In pgsql/doc/src/sgml/release.sgml, menzionati elementi delle note di rilascio così come risultavano in data 2009-03-16.

  • In pgsql/doc/src/sgml/release.sgml, sistemato il markup delle note di rilascio per AS OF.

Tom Lane ha effettuato i seguenti commit:

  • Resa costante la tabella di parse passata a fillRelOptions. Il coding precedente implicava che doveva essere costruita al volo per ogni entrata in default_reloptions.

  • Implementato il supporto "fastupdate" per gli indici GIN, in cui noi proviamo ad accumulare più entrate degli indici in un’area di attesa prima di aggiungerli alla struttura principale dell’indice. Questo è di aiuto in quanto l’inserimento bulk è di solito significativamente più veloce dell’inserimento normale per GIN. Questa patch toglie anche il supprto GIN per le scansioni degli indici in stile amgettuple. L’API definita per amgettuple è difficile da supportare con fastupdate, e comunque la funzionalità di match parziale di cui era stato fatto il commit in precedenza non funziona veramente. Potremmo in seguito trovare un modo per reintegrare il supporto amgettuple, ma non accadrà con la 8.4. Incrementato catversion per via della modifica alla voce pg_am di GIN, e poiché il formato degli indici GIN è cambiato sul disco (c’è una metapagina adesso, ed eventualmente una lista di attesa). Teodor Sigaev.

  • In pgsql/src/backend/optimizer/plan/planner.c, corretto uno stupido errore di parentesi. Bug #4728 segnalato da Bruce Toll.

  • Installato un limite di profondità per la ricerca sugli alberi nelle operazioni di inserimento bulk negli indici GIN, per impedire un degrado significativo di prestazioni quando l’input è prevalentemente ordinato. In questo scenario l’albero è sbilanciato fino quasi a diventare una lista concatenata, e quindi gli inserimenti diventano O(N^2). La soluzione più semplice e più comoda per essere riportata sulle versioni precedenti consiste nell’interrompere prima la crescita dell’albero, i.e. limitando la crescita di N. Potremmo in seguito considerare un algoritmo di ribilanciamento dell’albero, ma non è chiaro se il beneficio superi il costo e la complessità. Su segnalazione di Sergey Burladyan e una lamentela precedente di Heikki Linnakangas. Patch riportata indietro fino alla 8.2; le versioni precedenti non avevano gli indici GIN.

  • In pgsql/contrib/pgcrypto/pgp.h, corretta una svista antica in pgp.h: l’idea è di dichiarare alcuni tipi enum nominali, non delle variabili globali di tipi enum anonimi. Questo al momento attuale non dà molto fastidio in quanto molti linker si limiteranno a fondere le definizioni duplicate … ma alcuni si lamenteranno. Bug #4731 segnalato da Ceriel Jacobs. Patch riportata all’indietro fino alla 8.1 — le dichiarazioni non esistevano prima.

  • Corrette le API per il supporto alle funzioni opclass GIN per consentire al metodo extractQuery() di passare dati aggiuntivi ai metodi consistent() e comparePartial(). Questa è l’infrastruttura centrale che serve a supportare il modulo contrib/btree_gin atteso prossimamente. Le API sono ancora compatibili verso l’alto con le definizioni usate in 8.3 e precedenti, ma non con le precedenti definizioni nella 8.4devel. Incrementato catversion per via delle modifiche alle voci in pg_proc (benché si tratti di cosmesi, dato che GIN non esamina la segnatura della funzione prima di chiamarla…) Teodor Sigaev e Oleg Bartunov.

  • Aggiunto il modulo contrib btree_gin. Teodor Sigaev e Oleg Bartunov.

  • In pgsql/doc/src/sgml/release.sgml, corretto il markup in modo da far funzionare ‘make HISTORY’. Un paio di minimi miglioramenti editoriali.

  • Se pensiamo che un hash join venga eseguito in batch multipli, soppressiamo l’ottimizzazione "physical tlist" nella relazione esterna (ie. forziamo una proiezione durante il suo scan). Questo consente di evitare di memorizzare dei valori inutili delle colonne quando le tuple della relazione esterna sono scritte in file batch temporanei. Versione modificata di una patch di Michael Henderson e Ramon Lawrence.

  • In pgsql/src/backend/commands/copy.c, corretto il fraseggio delle lamentele riguardo le stringhe di delimitazione multi-byte in COPY. Dopo la discussione in pgsql-hackers in data 2009-02-17.

  • Corretti un paio di punti in cui si diceva ancora che LC_COLLATE and LC_CTYPE non possono essere cambiati dopo initdb.

  • In pgsql/contrib/pg_standby/pg_standby.c, l’opzione maxretries di pg_standby fa quello che uno si aspetterebbe. Segnalazione di Fujii Masao.

  • In pgsql/src/backend/catalog/index.c, adesso reindex_index() pulisce pg_index.indcheckxmin quando possibile. Greg Stark, leggermente modificato da me.

  • Corretti i possibili fallimenti quando un tuplestore passa dalla modalità in memoria alla modalità su disco mentre i chiamanti hanno dei puntatori alle tuple in memoria. Ho segnalato questo fatto per il caso della scsansione primaria delle tuple di nodeWindowAgg, ma l’ispezione del codice mostra che tutte le chiamate in nodeWindowAgg e nodeCtescan sono a rischio. Per adesso, l’ho corretto con un approccio piuttosto "forza bruta", copiando ogni qual volta un chiamante a rischio richiede una tupla. In seguito potremmo pensare a un approccio del tipo reference-count per ridurre la copia delle tuple.

  • In pgsql/src/backend/utils/adt/xml.c, aggiunto un errdetail spiegando perché noi rifiutiamo date e timestamp infinite durante la conversione in XML. Bernd Helmle

  • In Solaris, dovremmo forzare l’uso solo della nostra getopt(); va bene usare la getopt_long() del sistema. Il codice precedente era il risultato di una discussione imprecisa che non aveva tracciato chiaramente questa distinzione. Il risultato era che i programmi PG non gestivano le opzioni nel modo atteso dagli utenti di quella piattaforma. Su scoperta di Chuck McDevitt. Benché si tratti di un bug preesistente, non faccio la patch all’indietro poiché penso che dovremmo fare un po’ di beta testing prima di concludere che è veramente l’approccio giusto.

Andrew Dunstan ha effettuato i seguenti commit:

  • Rimosso il "munging" dei pramateri xml e xpath a xpath(). [NdT: Il munging è l’operazione di ‘camuffamento’ degli indirizzi di posta al fine di renderne più difficile la collezione da parte di robot.] L’XML deve essere adesso un documento XML ben formato.

Magnus Hagander ha effettuato i seguenti commit:

  • In pgsql/doc/src/sgml/release.sgml, corrette le note di rilascio in merito ai cambiamenti in pg_hba.

  • In pgsql/doc/src/sgml/release.sgml, chiarita la verifica dei nuovi certificati SSL in libpq.

  • In pgsql/doc/src/sgml/release.sgml, corretto il markup, su indicazione di Devrim GUNDUZ.

Heikki Linnakangas ha effettuato i seguenti commit:

  • In pgsql/src/bin/psql/tab-complete.c, corretto il tab completion di ANALYZE VERBOSE. In precedenza tale comando era confuso con EXPLAIN ANALYZE VERBOSE. Greg Sabino Mullane, riformattato da me. Correzione riportata all’indietro fino alla 8.1, dove il bug fu introdotto.

Patch rifiutate (per adesso)

La patch di Srinath K per implementare un indice globale sulle tabelle partizionate, in quanto era corredata da un disclaimer IP che ne precludeva la lettura da parte di chiunque.

Le patch di Hitoshi Harada per correggere un problema nella API della tuplestore, dove l’ambito di validità di un ScanTupleSlot non è così ampio come si aspetta il codice di gestione della tuplestore. Tom Lane invece ha usato la copia forzata.

Patch in coda

Kedar Potdar ha consegnato una patch che fa il partizionamento automatico.

KaiGai Kohei ha consegnato una nuova versione delle sue patch SE-PostgreSQL.

Zdenek Kotala ha consegnato una nuova patch per correggere i test di regressione nella locale Ceca (cs_CZ).

Fujii Masao ha consegnato una patch che aggiunge una nuova opzione trigger a pg_standby per correggere una modalità di gestione del fallimento di pg_standby.

Andrew (RhodiumToad) Gierth ha consegnato una patch che modifica hstore consentendo chiavi e valori di lunghezza arbitraria, fin tanto che lo stesso hstore è contenuto in una varlena, supporta btree e le opclass hash per gli hstore, consentendo a sua volta vincoli UNIQUE, e aggregazione, aggiunge I/O binario, un gruppo di operatori che mettono in relazione gli hstore con text, text[] e record, aggiunge il supporto GiST e GIN, converte tra hstore e record, e popola un record usando un hstore.

Andrew (RhodiumToad) Gierth ha consegnato una patch che fa funzionare GET DIAGNOSTICS ROW_COUNT per MOVE e FETCH in PL/pgSQL.

Pavel Stehule ha consegnato un modulo contrib di esempio per implementare un tipo JSON usando gli hook delle trasformazioni.

Bruce Momjian ha consegnato una patch che fornisce maggiori informazioni nel messaggio di errore quando qualcuno modifica un parametro GUC che accetta un solo valore.

Taro Minowa ha consegnato una patch per la 8.5 che consente a pg_dump di fare il dump dei commenti sulle colonne che sono tipi compositi.

This Post Has 0 Comments

Leave A Reply