== Notiziario settimanale PostgreSQL, 30 novembre 2008 ==

From: Gianni Ciolli <gianni(dot)ciolli(at)2ndquadrant(dot)it>
To: pgsql-it-generale(at)postgresql(dot)org
Cc: Gianluca Riccardi <gianluca(at)moonwatcher(dot)it>
Subject: == Notiziario settimanale PostgreSQL, 30 novembre 2008 ==
Date: 2008-12-03 13:34:45
Message-ID: 20081203133445.GF3490@fune
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-it-generale

== Notiziario settimanale PostgreSQL - 30 novembre 2008 ==

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

Il sito web "Let's PostgreSQL" di JPUG è adesso aperto.
http://lets.postgresql.jp/

Sono disponibili delle bozze di una traduzione in lingua russa delle
sezioni "Tutorial" e "Introduction" del manuale PostgreSQL:
http://postgresql.ru.net/manual/index.html

== Novità sul prodotto PostgreSQL ==

Rilasciate le versioni 2.13 e 3.0.4 di Archiveopteryx.
http://www.archiveopteryx.org/2.13
http://www.archiveopteryx.org/3.0.4

PostgreSQL ha dei nuovi driver JDBC.
http://jdbc.postgresql.org/changes.html

Rilasciata la versione 2.0.0 di Slony.
http://slony.info/

== Offerte di lavoro su PostgreSQL per novembre 2008 ==

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

== Notizie locali su PostgreSQL ==

David Fetter parlerà a Sydney in occasione dell'OSDC che si terrà dal
3 al 5 dicembre prossimi.
http://www.osdc.com.au/2008/index.html

FOSDEM 2009 si terrà a Bruxelles, in Belgio, nei giorni 7 e 8 febbraio
2009. PostgreSQL, oltre a condividere uno stand con i gruppi di BSD,
avrà una developer room. Inviate le vostre proposte di talk
(lightning, 20 minuti o 45 minuti) a fosdem (at) postgresql (dot) org.

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(at)itpug(dot)org; per le lingue inglese o tedesca, si scriva
rispettivamente a david(at)fetter(dot)org o a pwd(at)pgug(dot)de(dot)

---8<------8<------8<------8<------8<------8<------8<------8<------8<---

== Patches applicate ==

Magnus Hagander ha effettuato i seguenti commit:

- Aggiunto supporto per il matcching dei certificati server wildcard
al nuovo codice SSL. Viene usata la funzione fnmatch() che non è
disponibile su tutte le piattaforme (ad esempio Windows); si è
quindi importata l'implementazione da NetBSD in src/port.

- In pgsql/src/interfaces/libpq/fe-secure.c, disabilitato
FNM_CASEFOLD. Necessita di una soluzione appropriata in seguito; per
adesso il codice è stato solo commentato in modo da far ripartire
intanto la buildfarm.

- Supporto delle espressioni regolari in pg_ident.conf.

Peter Eisentraut ha effettuato i seguenti commit:

- CLUSTER VERBOSE e corrispondente opzione '--verbose' clusterdb . Jim
Cox e Peter Eisentraut.

- Spostate le informazioni FAQ_AIX nelle istruzioni
d'installazione. L'informazione sul perché le librerie condivise
siano compilate in un certo modo non era rilevante per gli utenti
finali; è stato inserito un link all'archivio delle mailing list in
Makefile.shlib.

- In pgsql/src/test/regress/pg_regress.c, se 'pg_ctl stop' fallisce,
visualizza un messaggio di errore ed esce (invece di cambiare strada
per ignorare lo status d'uscita). Infatti, se questo problema
accadesse davvero, la cosa peggiore sarebbe di non vedere lo "score"
alla fine dell'esecuzione del test.

- Aggiunto %expect 0 a tutti i files di input del parser per prevenire
il passaggio dei conflitti.

- In pgsql/src/backend/catalog/sql_features.txt, la feature F442
"Mixed column references in set functions" è adesso supportata.

- aggiunto in sede di configurazione un controllo per il programma
docbook2man, usato nel nuovo build target delle pagine di manuale,
basato su XML. Copre tre varianti d'installazione: dai sorgenti,
Debian e Fedora.

- In pgsql/src/backend/catalog/sql_features.txt, marcate come
supportate le features relative a WITH/SELECT.

- In pgsql/src/backend/catalog/sql_features.txt, rimosse dall'elenco
le features relative alla CLI visto che nel core non si tiene
traccia dell'attività ODBC.

- In pgsql/src/backend/catalog/sql_features.txt, aggiunto il fatto che
PL/Java è un'implementazione di SQL/JRT, e rimossa l'affermazione
che PL/pgSQL ha molto a che fare con SQL/PSM.

- Ridotto il rischio di eseguire accidentalmente dei test di
regressione temp-install usando un'altra installazione.

Si sceglie un numero di porta di default calcolata in base al numero
di versione, e si fanno alcuni tentativi con altri numeri di porta
se quel numero non funziona. Si verifica se si possa stabilire una
connessione alla porta prima di far partire il nostro postmaster, al
fine di individuare un eventuale altro server in ascolto sulla
stessa porta. Per semplificare il codice, rimossa l'opzione
--temp-port e usata --port per entrambi i casi temp-install e
pre-installed.

Tom Lane ha effettuato i seguenti commit:

- In pgsql/src/port/Makefile, omesso src/port/pipe.c su piattaforme
non Microsoft. È inutile, e su alcune piattaforme (ad esempio
Darwin) provoca delle lamentele in merito a dei file object vuoti.

- Rimosso PGINTERVALSTYLE dal set delle variabili d'ambiente speciali
per libpq. Come fatto notare da Peter, aggiungere tali variabili
aumenta il rischio di cadute inattese della connessione se si è
collegati a server aventi una versione antiquata; inoltre, tale
variabile non sembra necessaria poiché non aggiunge funzionalità
rispetto a quelle già disponibili tramite PGOPTIONS. La sua
rimozione provoca inoltre il trapasso di alcune righe di codice in
pg_regress.c, ma ad ogni modo vale probabilmente la pena farlo anche
solo per risparmiare una chiamata getenv() per ogni connessione.

- In pgsql/doc/src/sgml/information_schema.sgml,
information_schema.key_column_usage.position_in_unique_constraint
era erroneamente documentato come "non implementato", mentre in
realtà tale caratteristica è inclusa a partire dalla versione 8.2.

- In psql, aggiustato il comportamento del codice PQExpBuffer al fine
di far ottenere risultati meglio definiti (ad esempio in caso di
buffer vuoto "difettoso") se, durante il riempimento del buffer,
capita un memory overrun. Il codice precedente si limitava a
scartare tacitamente delle porzioni del contenuto del buffer, come
riportato dal bug report di Sam Mason. Inoltre, è stato modificato
il loop principale di psql al fine di individuare e notificare tali
overrun. Probabilmente c'è ancora molto da fare in questa direzione,
ma questo è un inizio.

- Adesso DISCARD ALL scarta anche gli advisory lock. Marko Kreen

- In pgsql/src/test/regress/pg_regress.c, adesso si verifica se usando
l'opzione -c invece di --style si risolve il problema di PGOPTIONS.

- In pgsql/src/interfaces/libpq/pqexpbuffer.h, modificata la nuova
macro PQExpBufferBroken per sopprimere gli warning originati dalle
versioni gcc eccessivamente meticolose.

- In pgsql/src/backend/executor/functions.c, risolto un memory leak
minore introdotto da recenti modifiche alle funzioni SQL: il
DestReceiver creato durante postquel_start deve essere distrutto
durante postquel_end. In un momento di dissolvenza cerebrale ho
pensato che se ne occupasse FreeQueryDesc, ma non è così (e non
dovrebbe esserlo).

- In pgsql/doc/src/sgml/ref/discard.sgml, variata la parafrasi di
DISCARD ALL per evitare di dare l'impressione che la lista di
operazioni equivalenti che viene presentato sia proprio la
definizione originaria del comportamento di tale comando. In seguito
a un commento di Guillaume Smet.

- Riportata sulle versioni precedenti la funzionalità di DISCARD ALL
legata al rilascio degli advisory lock sopra discussa. Come da
discussione.

- Ripulitore cosmetiche in contrib/isn (non si risolve il problema
passbyval)

- In pgsql/src/backend/optimizer/path/joinrels.c, la mia recente
correzione per la pianificazione dei semijoin non funzionava
realmente nel caso di una semijoin il cui lato destro non possa
essere reso unico --- join_is_legal deve controllare ciò prima di
decidere di costruire una join, altrimenti avremmo una joinrel che
non può essere implementata. In seguito a una segnalazione di Greg
Stark.

- Risolto un errore in uninstall_isn.sql: deve eliminare
esplicitamente le famiglie di operatori.

- Risoluzione parziale degli effetti indesiderati dei cambiamenti di
temp-port. ecpg ha ancora bisogno di molto lavoro, ma credo che
questa correzione sia sufficiente per dare di nuovo semaforo verde
alla buildfarm.

- Ci siamo assicurati che all'utente arrivi un messaggio di errore
appropriato quando si tenta di cancellare una tabella cui fa
riferimento un cursore aperto. Risolta di conseguenza l'instabilità
del risultato del test di regressione di ecpg, causata da questa
svista.

- Sistemati i test array_agg recentemente aggiunti, assicurandosi che
producano risultati stabili indipendentemente dai cambiamenti del
piano. Difetto segnalato dai fallimenti intermittenti nella
buildfarm su "pigeon" e su altre macchine.

- In pgsql/src/backend/utils/fmgr/funcapi.c, rimosso un memory context
switch inappropriato in shutdown_MultiFuncCall(). Si trattava di una
svista introdotta in una patch dello scorso febbraio; l'effetto
consisteva in una perdita di memoria se una SRF veniva chiusa prima
della fine della query in corso, poiché il codice successivo sarebbe
stato eseguito in un contesto più longevo di quanto previsto.

- Aggiunta una clausola "LIKE = typename" a CREATE TYPE per i tipi
base. Questo consente la copia dei dettagli basilari legati alla
rappresentazione (typlen, typalign, typbyval, typstorage) da un tipo
esistente, invece di doverli elencare esplicitamente nel comando
CREATE TYPE. Il motivo immediato è di fornire una soluzione semplice
per quei moduli add-on che vogliano definire tipi rappresentati come
int8, float4, o float8: dalla versione 8.4 in poi l'apposita
impostazione PASSEDBYVALUE è specifica della piattaforma, e pertanto
è difficile che uno script SQL sappia esattamente cosa fare. Questa
patch risolve l'errore contrib/isn riportato da Rushabh Lathia.

- Ripulita l'API per oggetti DestReceiver, eliminando l'assunzione che
un Portal è un argomento aggiuntivo utile e sufficiente per
CreateDestReceiver --- semplicemente non lo è in molti casi. Invece
si è formalizzato l'approccio di passare separatamente ogni
parametro necessario al ricevente. Un beneficio inaspettato di
questo cambiamento è che adesso si può dichiarare typedef Portal in
una locazione meno sorprendente. Questa patch è soltanto un
riarrangiamento del codice e non cambia nessuna
funzionalità. Affronterò il vecchio problema HOLD-cursor-vs-toast in
una patch successiva.

- Risolti dblink e tablefunc; adesso non restituiscono il
CurrentMemoryContext sbagliato. Segnalazione dai risultati della
buildfarm.

- In pgsql/contrib/tablefunc/tablefunc.c, rifattorizzata crosstab() in
modo che costruisca e ritorni un tuplestore invece di usare la
modalità value-per-call. Nell'uso normale dovrebbe essere più
efficiente, ma il vero problema del codice precedente era che la
funzione usciva lasciando attiva la chiamata SPI. Ciò poteva
causare problemi in caso di esecuzione simultanea a qualsiasi altro
utilizzo di SPI.

Alvaro Herrera ha effettuato i seguenti commit:

- Nello snapshot manager si usa ResourceOwners invece di tentare un
tracciamento manuale. Come bonus aggiunto, il nuovo codice è più
breve e più comprensibile, e i loops brutti sono scomparsi. È stato
discusso a lungo, ma mai implementato. Era chiaro che bisognava
davvero risolverlo dopo il bug report di Pavan Deolasee.

Michael Meskes ha effettuato i seguenti commit:

- In ecpg, quando si crea un nome struttura varchar, le parentesi
graffe devono essere eliminate.

- In pgsql/src/interfaces/ecpg/preproc/type.c, rimosso strchrnul.

- In pgsql/src/interfaces/ecpg/preproc/type.c, rimpiazzato strchrnul
con strchr.

- Applicata la patch di Ron Mayer in modo da fondere il nuovo style
degli intervalli in ecpg.

- In pgsql/src/interfaces/ecpg/pgtypeslib/interval.c, interval.c
necessita di limits.h.

Heikki Linnakangas ha effettuato i seguenti commit:

- Basarsi sull'invalidazione relcache per aggiornare la dimensione
della cache della FSM.

- In pgsql/src/backend/storage/buffer/localbuf.c, aggiustato il codice
di debug #ifdef-fato per farlo funzionare con i relation fork.

- In pgsql/src/backend/storage/freespace/freespace.c, non si forza la
creazione delle FSM sulle ricerche. Essa verrà comunque creata non
appena la prima pagina si riempirà, e ad ogni modo essa è marcata
come (quasi) piena.

- In pgsql/src/backend/catalog/heap.c, risolto il commento obsoleto in
merito al troncamento della FSM.

- In pgsql/src/backend/tsearch/ts_typanalyze.c, risolto il bug nella
funzione di raccolta statistiche tsvector, che causava un crash se
il campione contiene solo un tsvector contenente un unico lessema.

== Patches rifiutate (per adesso) ==

Nessuno è stato scontentato questa settimana :-)

== Patches in coda ==

Hitoshi Harada e Heikki Linnakangas hanno consegnato uno stormo di
patch per le funzioni di windowing.

Ramon Lawrence ha consegnato una nuova versione della sua patch per
migliorare le prestazioni degli hash-join multi-batch nel caso di
insiemi di dati sghembi.

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

Peter Eisentraut ha consegnato tre versioni di una patch che rende
meno fragile il setup dei test di regressione.

Magnus Hagander ha consegnato una nuova patch per correggere LC_TIME
su Windows.

Peter Eisentraut ha consegnato e poi ritirato una nuova versione della
patch per i tipi distinti, la quale incorpora del lavoro di Jeff
Davis.

Alvaro Herrera ha consegnato una patch per mettere a tacere uno
warning su una snapshot.

Pavel Stehule ha consegnato una nuova versione della sua patch che
implementa i parametri di default per le funzioni.

Koichi Suzuki ha consegnato una nuova versione della sua patch
pg_readahead.

Heikki Linnakangas ha consegnato una nuova versione della sua patch
per la mappa di visibilità.

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

Magnus Hagander ha consegnato una nuova versione della sua patch che
implementa il match tramite wildcard in SSL.

Browse pgsql-it-generale by date

  From Date Subject
Next Message Gianni Ciolli 2008-12-09 09:36:08 == Notiziario settimanale PostgreSQL, 7 dicembre 2008 ==
Previous Message Gianni Ciolli 2008-11-25 21:00:51 == Notiziario settimanale PostgreSQL, 23 novembre 2008 ==