Skip site navigation (1) Skip section navigation (2)

== Notiziario settimanale PostgreSQL, 7 dicembre 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, 7 dicembre 2008 ==
Date: 2008-12-09 09:36:08
Message-ID: 20081209093608.GA9482@fune (view raw or flat)
Thread:
Lists: pgsql-it-generale
== Notiziario settimanale PostgreSQL - 7 dicembre 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>)

Lorenzo Alberton ha scritto un articolo in cui effettua un'analisi
comparativa di vari RDBMS in merito alla sensibilità rispetto ai
caratteri minuscoli o maiuscoli negli identificatori.
http://www.alberton.info/dbms_identifiers_and_case_sensitivity.html

Fedora 10 adesso ha la sua repository pgsqlrpms.
http://yum.pgsqlrpms.org/

== Novità sul prodotto PostgreSQL ==

Rilasciata la versione 2.11.6 di perl-DBD-PG.
http://search.cpan.org/dist/DBD-Pg/

Rilasciata la versione 2.5.0 di check_postgres.
http://bucardo.org/check_postgres/

Hubert (depesz) Lubaczewski ha rilasciato uno strumento per analizzare
l'output di EXPLAIN ANALYZE.
http://www.depesz.com/index.php/2008/12/04/explaindepeszcom/

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

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)

== Patch applicate ==

Peter Eisentraut ha effettuato i seguenti commit:

- Risolto un errore di battitura in
  pgsql/doc/src/sgml/installation.sgml.

- In pgsql/doc/src/sgml/ref/psql-ref.sgml, piccola correzione.

- In pgsql/doc/src/sgml/ref/select.sgml, aggiunte graffe per rendere
  chiara la sintassi.

- In pgsql/doc/src/sgml/keywords.sgml, aagiornate le tabelle keywords
  alla 8.4 e a SQL:2008.

- In pgsql/GNUmakefile.in, genhtml viene invocato con l'opzione
  --prefix in modo che non appaiano nell'output i percorsi dei build
  locali.

- Valori di default per gli argomenti delle funzioni. Pavel Stehule,
  con qualche miglioria di Peter Eisentraut.

- In pgsql/src/backend/utils/adt/misc.c, descrizioni migliori in
  pg_get_keywords(), in modo coerente con l'appendice alla
  documentazione sulle keywords. catdesc era originariamente intesa
  per esser letta da dei calcolatori, ma visto che poi abbiamo
  aggiunto catcode, possiamo avere delle descrizioni più elaborate.

- Settati ar, dlltool, dllwrap e windres per il cross-compiling
  qualora necessario. In più alcune pulizie dei makefile. Parte di una
  patch di Richard Evans.

Michael Meskes ha effettuato i seguenti commit:

- Rimosso il test delle porte da ecpg.

Tom Lane ha effettuato i seguenti commit:

- In pgsql/src/tools/msvc/vcregress.pl, rimosse le ultime tracce di
  --temp-port.

- Ci siamo assicurati che i contenuti di un cursore di tipo HOLD non
  dipendano da valori TOAST obsoleti, i quali possono essere scartati
  una volta che la transazione del cursore è terminata. Per bug #4553
  da Andrew Gierth. Riportato sulle versioni precedenti fino alla
  8.1. Il bug esiste dalla versione 7.4 quando furono introdotti i
  cursori di tipo HOLD, ma senza aggiustamenti significativi questa
  patch non funziona per versioni precedenti alla 8.1. Vista
  l'insufficienza di lamentele sul campo, sembra che non valga la pena
  fare delle patch sui branch più vecchi (con il rischio di introdurre
  nuovi bugs).

- Risolta una disattenzione che faceva delle deduzioni di eguaglianza
  transitiva usando clausole di outer join. Ad esempio, dato ... FROM
  a LEFT JOIN b ON a.a1 = b.b1 WHERE a.a1 = 42; dedurremo una clausola
  b.b1 = 42 e poi marcheremo la join originale ridondante (non
  possiamo rimuoverla completamente per ragioni che non me la sento di
  sintetizzare in questo log). Comunque, la implementazione originale
  non era blindata, perché clause_selectivity() non rispettava
  this_selec nel caso in cui varRelid fosse stato diverso da zero --
  il che in pratica voleva dire che funzionava come desiderato eccetto
  il caso in cui si considerano delle qualificazioni di scansioni di
  indici. Questo produceva delle sottostime della dimensione dei
  risultati degli indexscan per un indexscan interno ad una outer
  join, e conseguentemente una scelta possibilmente errata fra
  indexscan e bitmap scan. Risolto introducendo un test esplicito in
  clause_selectivity(). E al fine d'assicurarsi che tale test non sia
  attivato in casi limite, cambiata la convenzione: adesso è nel caso
  this_selec > 1 e non this_selec = 1 che il test viene marcato
  ridondante. Su segnalazione del problema da parte di Scara
  Maccai. Patch riportata fino alla versione 8.2 dove era stato
  introdotto il problema.

- In pgsql/src/backend/optimizer/plan/subselect.c, non proviamo ad
  ottimizzare le sottoquery EXISTS prive di FROM: infatti abbiamo
  bisogno di formare una join e in questo caso non c'è nulla da
  utilizzare per il join. (Potremmo probabilmente farlo funzionare se
  non sollevassimo la sottoquery, ma non mi sembra che il caso sia
  meritevole di codice extra). Segnalazione di Greg Stark.

Heikki Linnakangas ha effettuato i seguenti commit:

- In pgsql/src/backend/utils/adt/formatting.c, modificata la nuova
  implementazione to_timestamp in modo che la stringa di fine formato
  sia trattata come un separatore non numerico. Questo risolve
  l'inconsistenza negli esempi come il seguente:
  to_timestamp('2008-01-2', 'YYYY-Michael Meskes-DD') non funzionava
  mentre to_timestamp('2008-1-02', 'YYYY-Michael Meskes-DD')
  funzionava.

- In pgsql/src/backend/utils/adt/tsginidx.c, usa PG_GETARG_TEXT_PP
  invece di PG_GETARG_TEXT_P nelle nuove funzioni gin_cmp_tslexeme e
  gin_cmp_prefix. Si dovrebbero tagliare alcuni cicli dalle operazioni
  GIN.

- In pgsql/src/backend/access/transam/xlog.c, se pg_stop_backup()
  viene chiamata subito dopo aver commutato ad un nuovo file xlog,
  attendi che sia archiviato il precedente file invece del
  nuovo. Basata sulla patch di Simon Riggs.

- Piccole correzioni di commenti in
  pgsql/src/backend/storage/freespace/freespace.c.

- Introdotta la mappa di visibilità. Si tratta di una bitmap con un
  bit per ciascuna pagina dell'heap; se il bit è impostato a 1 allora
  tutte le tuple sulla pagina sono visibili a tutte le transazioni e
  quindi la pagina non ha bisogno di vacuum. È memorizzata in un fork
  di una nuova relazione. Il vacuum di tipo lazy usa le mappe di
  visibilità per evitare le pagine che non hanno bisogno di vacuum. Lo
  stesso vacuum è anche il responsabile dell'impostazione dei bits
  nella mappa. In futuro ciò potrebbe auspicabilmente essere usato per
  implementare scansioni index-only, ma al momento attuale non
  possiamo garantire che la mappa di visibilità sia al 100%
  aggiornata. In più c'è un nuovo flag PD_ALL_VISIBLE su ciascuna
  pagina dell'heap, il quale indica se tutte le tuple della pagina
  siano visibili a tutte le transazioni. È importante che questo flag
  sia mantenuto aggiornato. Esso è anche usato per evitare il test di
  visibilità negli scans sequenziali, dando alcuni miglioramenti di
  prestazione.

- In pgsql/src/include/catalog/catversion.h, dimenticato di aggiornare
  la versione del catalogo nella patch della mappa di visibilità.

- Utilizzare la mappa di visibilità anche nell'autovacuum. C'era una
  disattenzione nella patch della visibility map; dato che autovacuum
  imposta sempre VacuumStmt->freeze_min_age, la mappa di visibilità
  non veniva mai usata per l'autovacuum, ma soltanto per vacuum
  lanciati manualmente.  Con questa patch è stato introdotto un nuovo
  campo scan_all a VacuumStmt, il quale indica esplicitamente se, per
  spostare relfrozenxid in avanti, si possa usare la mappa di
  visibilità oppure se debba essere scandita l'intera relazione. I
  vacuum volti ad impedire il wraparound hanno ancora bisogno di
  scandire tutte le pages.

- In pgsql/src/backend/access/heap/visibilitymap.c, la macro MAPSIZE
  necessita di usare MAXALIGN(SizeOfPageHeaderData) invece di
  SizeOfPageHeaderData, così come fa PageGetContents. Su segnalazione
  di Pavan Deolasee.

Alvaro Herrera ha effettuato i seguenti commit:

- In pgsql/src/backend/utils/misc/guc.c, alcuni minori abbellimenti di
  codice.

- Risolti un paio di bugs di gestione delle snapshots nel nuovo mondo
  ResourceOwner: un oggetto non scrivibile di dimensioni grandi
  necessita che la propria snapshot sia registrata sul resowner della
  transazione, non del portale attuale, in quanto essa deve persistere
  fino a che tale oggetto non viene chiuso (cosa che il portale non
  fa). In più, ci siamo assicurati che la snapshot serializzabile sia
  registrata anche dal resource owner della transazione, compreso il
  caso in cui una sottotransazione abbia cambiato il resource owner
  attuale prima che venga selezionato quello serializzabile. Su bug
  report di Pavan Deolasee.

- Qua e là alcune tags di programlisting sono state racchiuse in
  CDATA, così da liberarsi di certi escaping SGML.

Magnus Hagander ha effettuato i seguenti commit:

- Cambiato il mapping delle wildcard nel certificato; adesso è molto
  più piccolo, viene considerato soltanto il carattere '*' all'inizio
  di un pattern e non si considerano i sottodominii. Questo implica
  che non abbiamo più bisogno di fnmatch; rimosse quindi sia
  l'implementazione importata dal port, che il check di autoconf.

- In pgsql/doc/src/sgml/libpq.sgml, aggiunta la documentazione per la
  patch delle wildcard nei certificati.

- De-registrate le callbacks OpenSSL quando libpq ha finito con la sua
  connessione. Ciò è richiesto dalle applicazioni che scaricano la
  libreria libpq (p.e. PHP), per evitare di avere puntatori a queste
  funzioni quando esse non esistono più. La patch non è stata
  riportata sulle versioni precedenti, poiché prima di fare ciò si
  ritiene necessario effettuare ulteriori test. Di passaggio, rimosse
  delle funzioni inutilizzate da backend/libpq. Bruce Momjian e Magnus
  Hagander, su segnalazione e analisi di Russell Smith.

- In pgsql/src/interfaces/libpq/fe-secure.c, il commento diceva che
  non si liberava il lockarray e spiegava il perché. La correzione
  appropriata è stata di far fare al codice le cose descritte dal il
  commento...

Bruce Momjian ha effettuato i seguenti commit:

- In pgsql/src/interfaces/libpq/fe-secure.c, corretto un errore di
  digitazione nella recente patch di unload di SSL. Kris Jurka

- In pgsql/doc/src/sgml/wal.sgml, documentato che il journaling
  non-data è una opzione di mount raccomandata.

- Consenti a CREATE OR REPLACE VIEW di aggiungere colonne alla _fine_
  della view. Robert Haas.

Teodor Sigaev ha effettuato i seguenti commit:

- In pgsql/src/backend/access/gist/gistscan.c, inizializza
  GISTScanOpaque->qual_ok anche se non ci sono condizioni.

== Patch rifiutate (per adesso) ==

Nessuno è stato scontentato questa settimana :-)

== Patch in coda ==

Hitoshi Harada ha consegnato quattro nuove versioni delle sue funzioni
di windowing.

Pavel Stehule ha consegnato una nuova revisione della sua patch per i
valori di default nei parametri delle funzioni.

Zdenek Kotala ha consegnato una patch che aggiorna lo script
pg_upgrade.

Magnus Hagander ha consegnato una patch che aggiorna la documentazione
di work_mem aggiungendo il riferimento ad autovacuum_max_workers.

Hannes Eder ha consegnato una patch per aggiungere un operatore
"skyline".

Heikki Linnakangas ha consegnato una patch che velocizza la
costruzione di indici GIN.

ITAGAKI Takahiro ha consegnato una nuova patch che implementa
pg_stat_statements.

Alvaro Herrera ha consegnato due versioni di una patch che ripara un
bug di assert in lo_open().

Euler Taveira da Oliviera ha consegnato una patch che migliora la
portabilità degli "inizializzatori designati".

KaiGai Kohei ha consegnato altri due insiemi di patch SE-PostgreSQL.

David Rowley ha inviato qualche "massaggio" per la documentazione
della patch sulle funzioni di windowing di Hitoshi Harada.

Martin Pihlak ha consegnato una nuova revisione della sua patch per il
gestore di connessioni SQL/MED.

Heikki Linnakangas ha consegnato una nuova versione della mappa di
visibilità.

Heikki Linnakangas ha consegnato una patch che sistema pg_stop_backup.

Emmanuel Cecchet ha consegnato una nuova patch che sistema il
comportamento delle tabelle temporanee nelle transazioni.

Josh Williams ha consegnato una patch che aggiunge a psql la
visualizzazione del proprietario di una sequenza in occasione del
comando \d.

Kurt Harriman ha consegnato uno stormo di patch che consentono tra le
altre cose l'utilizzo del C++ nel codice SPI. La discussione è in
corso.


pgsql-it-generale by date

Next:From: Gianni CiolliDate: 2008-12-17 20:47:05
Subject: == Notiziario settimanale PostgreSQL, 14 dicembre 2008 ==
Previous:From: Gianni CiolliDate: 2008-12-03 13:34:45
Subject: == Notiziario settimanale PostgreSQL, 30 novembre 2008 ==

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group