Notiziario settimanale PostgreSQL – 21 dicembre 2008

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

Buon Solstizio/Channukah/Natale/Yule/etc. dal Notiziario settimanale PostgreSQL :)

Il 21-22 maggio 2009 si terrà PGCon2009, all’Università di Ottawa (Canada). Sarà preceduto da due giorni di corsi brevi (19-20 maggio). http://www.pgcon.org/2009/papers.php

Il team RPM di PostgreSQL ha rilasciato nuovi RPM compilati con –enable-integer-datetimes. http://yum.pgsqlrpms.org/howtoyum.php#idsupporthowto

Il progetto PostgreSQL Live CD Project ha dato inizio a una mailing list, allo scopo di fare un CD live con i commenti della comunità: http://www.pglivecd.org/community.php

Novità sul prodotto PostgreSQL

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

Il progetto che si occupa di costruire i files RPM di PostgreSQL ha rilasciato la terza versione del CD Live PostgreSQL: http://www.pglivecd.org

Rilasciata la versione 1.3.5 di PostGIS. http://postgis.refractions.net/

Rilasciata la versione 2.5.0 di PostgreDAC. http://microolap.com/products/connectivity/postgresdac/download/

Rilasciata la versione 1.2.7 di Database Designer per PostgreSQL. http://microolap.com/products/database/postgresql-designer/download/

Rilasciato l’aggiornamento di sicurezza 4.2.2 di phpPgAdmin. http://phppgadmin.sourceforge.net/

Offerte di lavoro su PostgreSQL per dicembre 2008

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

Notizie locali su PostgreSQL

Si è aperto il Call for Paper per FOSDEM 2009. PostgreSQL avrà uno stand e condividerà una developer room con i gruppi di BSD. Inviate i vostri talks a "fosdem (at) postgresql (dot) eu" non oltre il 2 gennaio 2009.

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

Il PUG di Melbourne sta partendo. Controllare qui per avere ulteriori dettagli sugli incontri. http://archives.postgresql.org/melbourne-au-pug/

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.

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:

  • Supporto per specificare il nome di file per il certificato SSL, la chiave, lo store per il certificato root e la lista di revoca per i certificati, usando i parametri di connessione o le variabili di ambiente. Patch originale di Mark Woodward, rielaborata significativamente da Alvaro Herrera e Magnus Hagander.

  • In pgsql/src/tools/msvc/Mkvcbuild.pm, insegnato al sistema di build di MSVC come costruire i wrapper per i dati esterni. Dovrebbe risolvere i recenti problemi alle buildfarm.

Tom Lane ha effettuato i seguenti commit:

  • Tolte le nostre dipendenze su MB_CUR_MAX, fidandoci che pg_database_encoding_max_length() preveda correttamente la massima lunghezza in caratteri restituita da wchar2char(). Su segnalazione di Hiroshi Inoue, MB_CUR_MAX non può essere usata su Windows poiché consentiamo encoding = UTF8 quando la locale specifica una impostazione diversa; ed eliminarla sembra una buona idea, in principio, poiché restringe ancora un pochino le dipendenze dall’API locale di libc. Installato inoltre un controllo di overflow per il calcolo della dimensione del buffer.

  • Ridotto il fattore di scala di attstattarget rispetto al numero di lessemi da 100 a 10, per compensare il cambiamento recente nei target di default delle statistiche. Il numero originario era comunque arbitrario :-(, ma era stato scelto nel contesto del vecchio default, quindi mantenere la dimensione di default dell’array costante MCELEM sembra la cosa migliore. In base a una discussione.

  • Tolti i casi di test di regressione che facevano riferimento a pg_stats. La soluzione che era stata proposta è un cambiamento del comportamento che probabilmente non dovrebbe essere riportato nelle versioni precedenti, e non sembra che valga la pena di introdurre un artifizio in una versione precedente.

  • Le famiglie di funzioni pg_foo_is_visible e has_foo_privilege adesso ritornano NULL invece di segnalare un errore, se l’oggetto target è specificato tramite l’OID e tale OID non compare nei cataloghi. Dato che queste funzioni operano internamente con regole SnapshotNow, c’è una situazione di corsa critica se le si usano in query a livello di utente: la snapshot MVCC della query potrebbe "vedere" una riga del catalogo che è già stata uccisa da un commit, producendo un errore in occasione dell’applicazione della funzione. Restituire NULL dovrebbe in generale fornire un comportamento più conveniente. Ci sono già state lamentele inerenti questo problema, il quale è in particolare adesso visibile durante i test di regressione a causa di un’altra patch recente.

  • In pgsql/src/interfaces/ecpg/ecpglib/misc.c, risolto il problema cast-away-const unitamente a un computo sbagliato della dimensione richiesta del buffer.

  • Rivisto il codice per la patch a CREATE OR REPLACE VIEW. Adesso le cose sono fatte in un ordine più sano, producendo messaggi di errore auspicabilmente meno fuorvianti quando la nuova definizione non è compatibile con la vecchia. Altre pulizie minori.

  • Dipartimento dei secondi pensieri: esperimenti aggiuntivi con CREATE OR REPLACE VIEW suggeriscono che sarebbe il caso di rendere più chiari e dettagliati i messaggi di errore. Questo dovrebbe aiutare a localizzarne la causa.

  • In pgsql/src/backend/access/heap/heapam.c, heap_update() imposta correttamente newtup->t_tableOid, in modo consistente alle altre principali funzioni in heapam.c . L’unica conseguenza nota di questa omissione è che UPDATE RETURNING non restituiva il valore corretto di "tableoid", come segnalato da KaiGai Kohei. Riportata la correzione fino alla versione 8.2. Probabilmente l’errore è presente anche prima; ma in assenza di errori tangibili precedenti all’introduzione di RETURNING, desisterò dal correggere tali versioni.

  • Rivisto il codice per la patch che riguarda i parametri di default per le funzioni. Risolti numerosi problemi segnalati dalle discussioni recenti. Di passaggio, risolti anche un paio di bug nella precedente patch per i parametri variadici.

  • In pgsql/src/backend/executor/execQual.c, corretta una svista nella mia patch recente che consentiva a ExecMakeFunctionResult la gestione dei risultati di tipo "set" in modalità materializzata. Dal momento che adesso utilizza il nodo ReturnSetInfo per gestire lo stato interno, abbiamo bisogno di essere sicuri di mettere in piedi il nodo anche nel caso in cui la funzione immediatamente chiamata non restituisca un set, pur avendo un argomento a valori di tipo set. Segnalazione di Anupama Aherrao.

  • In pgsql/doc/src/sgml/datatype.sgml, aggiunti un paio di riferimenti incrociati alla documentazione riguardo i tipi enum, in base a una recente segnalazione sulla difficoltà di trovare tali informazioni.

  • Quando abbiamo aggiunto la possibilità di avere ARRAY[] di zero elementi aggiungendo un cast esplicito che specifica il tipo dell’array, abbiamo dimenticato di insegnare a ruleutils.c come visualizzare correttamente tali costrutti. Trovato avendo notato un output difettoso dopo le recenti modifiche ai test di regressione per il polimorfismo.

  • Aggiunta una nuova colonna proiswindow a pg_proc. Per adesso non fa niente di utile, ma mi sono stancato di continuare a fare il merge di questa caratteristica della patch delle funzioni window.

  • In pgsql/src/backend/commands/foreigncmds.c, risolte varie confusioni di puntatori e OID, assunzioni ingiustificate riguardo ai null, etc. Penso che questo risolverà gli attuali problemi con le buildfarm.

  • In pgsql/src/backend/parser/gram.y, aggiunto un punto e virgola mancante, in seguito ai risultati della buildfarm. Martin Pihlak

Michael Meskes ha effettuato i seguenti commit:

  • Non si prova a cambiare una variabile const.

  • Applicata la patch di ITAGAKI Takahiro per risolvere problemi di segfault in ecpg sui sistemi non glibc.

Bruce Momjian ha effettuato i seguenti commit:

  • In pgsql/contrib/pg_standby/pg_standby.c, aggiunto un ‘break’ mancante nei comandi switch di Win32, segnalato da Martin Zaun

  • In pgsql/contrib/pg_standby/pg_standby.c, aggiunto un commento sul cp di GNUWin32’s che non ha il problema del file system.

  • In pgsql/doc/src/sgml/pgstandby.sgml, aggiunta documentazione che pg_standby utilizza sleep su Win32 per via del comportamento di ‘copy’.

  • In pgsql/contrib/pg_standby/pg_standby.c, migliorato il commento su perché pg_standby utilizzi sleep per gestire i problemi di dimensione dei file legati a ‘copy’.

  • In pgsql/doc/src/sgml/rules.sgml, rifrasata la sezione che paragona trigger e regole, eliminando delle ambiguità.

  • La patch in allegato contiene un paio di soluzioni a problemi esistenti e ne include alcuni nuovi: Risolti errori di compilazione su OS X per le sonde di DTrace che usano typedef. Corrette alcune sonde facendo loro passare ForkNumber in seguito alla patch per le relation forks. Le nuove sonde sono quelle che erano state rimosse dalla patch precedente e che richiedevano semplici correzioni. Le altre sonde che potrebbero richiedere una maggiore discussione saranno inviate in una patch separata. Robert Lor.

  • In pgsql/doc/src/sgml/runtime.sgml, aggiornata la tabella della documentazione descrivendo quanta memoria condivisa è utilizzata dai vari apparati.

  • In pgsql/doc/src/sgml/wal.sgml, chiarito nella documentazione che il journaling non è richiesto per i file del WAL o dei dati.

  • In pgsql/doc/src/sgml/wal.sgml, aggiunto "not" al testo del WAL journaling.

Andrew Dunstan ha effettuato i seguenti commit:

  • In pgsql/src/tools/msvc/Solution.pm, tentato di risolvere un errore MSVC proveniente da una patch legata a una Versione Principale.

Alvaro Herrera ha effettuato i seguenti commit:

  • In pgsql/doc/src/sgml/runtime.sgml, aggiunta una nota alla tabella di dimensionamento della memoria condivisa in merito alla necessità di utilizzare il conteggio delle pagine in shared_buffers e wal_buffers, non la dimensione in bytes. In seguito a una discussione.

  • In pgsql/src/bin/psql/describe.c, d+ visualizza le reloptions. Estratto dalla patch reloptions di Euler Taveira de Oliveira per l’autovacuum, e rivista da me. Nota che non sembra esserci un modo di visualizzare le reloptions di un indice.

Heikki Linnakangas ha effettuato i seguenti commit:

  • Non azzerare pg_class.reltuples e relpages in VACUUM, se qualche pagina è stata saltata. Potremmo aggiornare relpags comunque, ma sembra meglio aggiornarlo solo unitamente a reltuples, poiché il planner utilizza il rapporto reltuples/relpages.

Parimenti, non aggiornare n_live_tuples in pgstat. ANALYZE in VACUUM ANALYZE adesso deve aggiornare pg_class, se la fase di VACUUM non ha fatto ciò. Aggiunti alcuni passaggi di booleani per dire a analyze_rel se deve aggiornare pg_class o meno. Inoltre, ho spostato l’invalidazione di relcache (per aggiornare rd_targblock) da vac_update_relstats al punto dove viene chiamata RelationTruncate, poiché vac_update_relstats non viene più chiamata per i vacuum parziali. È più ovvio collocare l’invalidazione vicino al troncamento che la richiede. In base a segnalazione di Ned T. Crigler.

  • In pgsql/src/backend/commands/foreigncmds.c, non utilizzare OidIsValid per controllare il valore restituito da transformGenericOptions, poiché transformGenericOptions restituisce un array, non un Oid. Non sono sicuro se ciò risolva i crash osservati nella buildfarm, ma questo errore dovrebbe essere risolto comunque.

Peter Eisentraut ha effettuato i seguenti commit:

  • In pgsql/doc/src/sgml/ref/truncate.sgml, aggiunta una nota che TRUNCATE usa un lock esclusivo in accesso. Questo apparentemente ha sorpreso/confuso alcuni utenti.

  • Uno strumento per gestire il catalogo SQL/MED. Ancora non fa cose remote o esterne, ma fornisce a moduli come plproxy e dblink un sistema standard e a prova di futuro per gestire le proprie informazioni sulla connessione. Martin Pihlak e Peter Eisentraut

Patch rifiutate (per adesso)

Nessuno è stato scontentato questa settimana :-)

Patch in coda

Zdenek Kotala ha consegnato una patch sotto forma di infrastruttura di pg_upgrade, per riservare spazio per l’upgrade.

Pavel Stehule ha consegnato una patch che consente l’utilizzo di una notazione mista per l’utilizzo di parametri con nome.

Robert Treat ha consegnato una patch per correggere il trattamento dei bytea in PL/Perl.

Emmanuel Cecchet ha consegnato una nuova versione della sua patch per il partizionamento automatico.

Fujii Masao ha consegnato una nuova versione della sua patch che implementa la replica sincrona.

Emmanuel Cecchet ha consegnato due ulteriori versioni della sua patch che consente alle tabelle temporanee di comportarsi meglio dal punto di vista delle transazioni.

Zdenek Kotala ha consegnato una nuova versione della sua patch che riserva le pagine prima degli upgrade in-place.

Simon Riggs ha consegnato una nuova versione della sua patch per gli hooks rmgr.

KaiGai Kohei ha consegnato una nuova versione della sua patch SE-PostgreSQL.

Muhammad Asif ha consegnato una nuova versione della sua patch per i plugin.

Alvaro Herrera ha consegnato due patch per migliorare il meccanismo di reloptions.

Teodor Sigaev ha consegnato una nuova versione della sua patch che implementa l’emulazione degli indici B-Tree tramite gli indici GIN.

Abhijit Menon-Sen ha consegnato una nuova versione della patch pg_dump_role.

Andreas ‘ads’ Scherbaum ha consegnato una patch che aggiunge informazioni sullo storage alla sintassi l+ di psql.

Tom Lane ha consegnato una patch che implementa alcune delle strutture grammaticali per le funzioni OLAP.

Jeff Davis ha consegnato una patch aggiornata per i miglioramenti agli indici GIN di Teodor Sigaev.

This Post Has 0 Comments

Leave A Reply