== Notiziario settimanale PostgreSQL, 15 febbraio 2009 ==

From: Gianni Ciolli <gianni(dot)ciolli(at)2ndquadrant(dot)it>
To: pgsql-it-generale <pgsql-it-generale(at)postgresql(dot)org>
Cc: Gianluca Riccardi <gianluca(at)moonwatcher(dot)it>
Subject: == Notiziario settimanale PostgreSQL, 15 febbraio 2009 ==
Date: 2009-02-18 21:42:27
Message-ID: 20090218214227.GB17160@fune
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-it-generale

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

In occasione del Prague PostgreSQL Developer Day, i partecipanti Cechi
e Slovacchi si sono riuniti per formare un PostgreSQL Users' Group
Cecoslovacco. Aspettatevi presto loro notizie.

Segnatevi la data: pgDay San Jose, domenica 19 luglio subito prima di
OSCON. Seguiranno prossimamente ulteriori informazioni, compreso il
Call for Papers.

== Novità sul prodotto PostgreSQL ==

Rilasciata la versione 2.5 di Benetl, un ETL per files che usa
PostgreSQL.
http://www.benetl.net

Rilasciata la versione 2.2 RC1 di pgpool-II, un connection pooler e
non solo.
http://pgfoundry.org/projects/pgpool/

== La novità della settimana di PostgreSQL 8.4 ==

Restore parallelo. Andrew Dunstan ha parallelizzato pg_restore così da
poter sfruttare al massimo i processori nel caricamento (o
nell'upgrade) di un database. Durante i test, qusta caratteristica
riduce i tempi di caricamento rispettivamente del 50% e del 75% su
sistemi con 4 e 8 processori. E, meglio ancora, questo nuovo
pg_restore funzionerà anche con i database versione 8.3.

== Il suggerimento della settimana ==

Non creare indici su colonne a bassa cardinalità, a meno che non siano
parte di un indice multicolonna.

== Offerte di lavoro su PostgreSQL per febbraio 2009 ==

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

== Notizie locali su PostgreSQL ==

Ed Borasky parlerà di Visualizzazione di Dati pressoil PDXPUG, il
19 febbraio 2009, dalle 19 alle 21, in Portland (Oregon, USA***).
http://calagator.org/events/1250456619

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

Il PostgreSQL User Group tedesco avrà uno stand, due talk e un
workshop presso il Linuxdays Chemnitz, il 14 e 15 marzo 2009. Maggiori
informazioni in lingua tedesca qui:
http://andreas.scherbaum.la/blog/archives/525-PostgreSQL-auf-den-Chemnitzer-Linuxtagen.html

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

Bruce Momjian ha effettuato i seguenti commit:

- In pgsql/doc/src/sgml/ref/psql-ref.sgml, corretti errori di di
ortografia nella documentazione. Erik Rijkers

- In pgsql/doc/src/sgml/ref/pg_dump.sgml, aggiornata la documentazione
su come impedire a pg_dump di aggiornare la generazione delle
statistiche.

- In pgsql/doc/src/sgml/libpq.sgml, clarify PQinitSSL() documentation
to mention what the argument controls.

- In pgsql/doc/src/sgml/libpq.sgml, chiarimenti nella documentazione
di PQinitSSL() per specificare cosa si controlla con l'argomento.

- In pgsql/doc/src/sgml/ref/create_table.sgml, rimosse le tabulazioni
dall'SGML.

Alvaro Herrera ha effettuato i seguenti commit:

- Aggiornato autovacuum in modo che usi reloptions invece che il
catalogo di sistema, per effettuare l'override dei parametri a
livello di tabella. Così facendo si rimuove un'intera classe di
problemi relativi a un uso non appropriato del catalogo, e - cosa
forse ancora più importante - si ottiene il supporto in pg_dump per
i parametri. Basato su una patch di Euler Taveira de Oliveira,
pesantemente rielaborata da me.

- In pgsql/src/bin/psql/describe.c, migliorato il comando \d+ di psql
per mostrare anche le reloptions di TOAST. Come da lamentela di
ITAGAKI Takahiro.

Tom Lane ha effettuato i seguenti commit:

- Adottata come hash_any() la funzione hash migliorata da Bob
Jenkins. Questo cambia (di nuovo) i contenuti degli indici hash,
quindi abbiamo aumentato la catversion. Kenneth Marshall.

- Modificato il configure per aggiungere -qnoansialias ai CFLAGS
quando si è in esecuzione su AIX con un compilatore diverso da
gcc. Il codice precedente l'avrebbe fatto soltanto per il caso in
cui CC era esattamente "xlc"; che non è una buona idea, come
dimostrato dai problemi riferiti da Mihai Criveti.

- Adesso ALTER TABLE SET WITHOUT OIDS riscrive l'intera tabella per
eliminare fisicamente la colonna OID. Questo elimina il problema
scoperto da Heikki nello scorso novembre, legato al fatto che la
soppressione in 8.4 di filtri "spazzatura" non necessari in
INSERT/SELECT poteva condurre alla violazione di un assert, o - se
gli OID sono disattivati - alla memorizzazione degli OIDs in una
tabella che non dovrebbe averne. Mentre quel particolare problema
si è potuto risolvere in altri modi, sembra che sia un monito per
altri problemi futuri che potranno accadere se continuiamo a
consentire alle tebelle di contenere righe che non sono coerenti con
l'impostazione di pg_class.relhasoids. È meglio rendere questa
operazione lenta invece di sacrificare le prestazioni oppure
rischiare dei bug in parti del codice più comuni. Aggiunto anche
ALTER TABLE SET WITH OIDS al fine di riscrivere la tebelle in caso
di aggiunta degli OIDs. Ciò è stato un po' più controverso, ma si è
ritenuto megli eliminare l'asimmetria, visto anche lo scarso
quantitativo di codice extra necessario data l'attuale
infrastruttura di ALTER TABLE.

- Corretto UNLISTEN al fine di arrendersi velocemente se il backend
attuale non ha mai eseguito alcun comando LISTEN. Ciò è più
importante adesso di quanto non lo fosse prima, poiché DISCARD ALL
invoca UNLISTEN. Applicazioni con connessioni in pooling che fanno
un grande uso di DISCARD ALL stavano registrando una significativa
contesa per pg_listener, come riportato da Matteo Beccati. Sembra
poco plausibile che dei client che usano LISTEN facciano uso di
connessioni in pool, perciò questa modifica dovrebbe essere
sufficiente, anche perché l'implementazione di pg_listener dovrà
comunque essere dismessa in un futuro prossimo. Patch al'indietro
fino alla 8.3 dove fu introdotto DISCARD ALL.

- In pgsql/src/backend/catalog/information_schema.sql, effettuati un
paio di hack marginali per la prestazione delle viste
information_schema: rimpiazzata la vecchia implementazione di
_pg_keysequal(), che faceva uso di funzioni SQL ricorsive, con una
nuova che fa uso degli operatori built-in per il contenimento degli
array, e modificati le UNION di table_constraint in UNION ALL. In
seguito a discussione con Octavio Alvarez. Non è stato forzato un
initdb, poiché ciò non modifica i risultati, ma per vedere le nuove
definizioni è necessario eseguire initdb oppure ricaricare
information_schema.

- In pgsql/doc/src/sgml/config.sgml, piccola modifica ai testi.

- Istruito il planner affinché un indice parziale unico sia trattato
in modo analogo alla dimostrazione che una variabile è unica per una
determinata query, se il predicato dell'indice è soddisfatto.

Ciò ha richiesto un po' di riordinamento delle operazioni, così che
i predicati siano controllati prima di fare le stime di selettività;
ciò non dovrebbe causare rallentamenti percettibili. Come da
commento di Michal Politowski.

Peter Eisentraut ha effettuato i seguenti commit:

- In pgsql/src/backend/utils/mb/Unicode/UCS_to_most.pl, aggiunta la
possibilità di generare soltanto alcuni files, trasmettendo gli
argomenti dalla riga di comando.

- In pgsql/src/backend/utils/mb/wchar.c, rimossi i numeri della
codifica dai commenti. Sono inutili e rendono la manutenzione più
difficile.

- Supporto per la codifica KOI8U.

- Disabilita l'ambiente di locale soltanto quando viene usato
--no-locale (presumibilmente era stato progettato così, ma si
comportava diversamente). Ciò consente di eseguire i test temporanei
in una locale diversa da C, esercitando quindi meglio gli ambienti
reali degli utenti. Documentato il cambio della locale per
l'esecuzione dei test.

- Disabilitata in ogni caso l'impostazione locale relativa al
linguaggio, altrimenti psql parlerebbe le varie lingue nazionali e
confonderebbe le diff dei test di regressione.

- Le locale delle lingue Ceca (cs_CZ) e Slovacca (sk_SK) ordinano i
numeri dopo le lettere invece del contrario. Aggiornate di
conseguenza le aspettative dei test di regressione. Nel test
plpgsql, aggiustati i dati del test medesimo in modo che ciò non sia
un problema. Nei test di char e varchar aggiunti nuovi files attesi.

Magnus Hagander ha effettuato i seguenti commit:

- In pgsql/src/port/win32env.c, non invocare SetEnvironmentVariable()
quando si rimuove una variabile d'ambiente, dato che apparentemente
ciò provoca il crash almeno su alcune versioni di MingW. Il nostro
utilizzo attuale di questa funzione non lo richiede, perciò dovrebbe
essere ok se lo ignoriamo.

- In pgsql/src/port/kill.c, la funzione CallNamedPipe() è chiamata più
volte in un loop nel caso in cui fallisca, poiché può accadere un
fallimento transitorio, che impedirà a kill() di inviare
correttamente i propri segnali. Patch originale di Steve Marshall,
modificata da me.

Andrew Dunstan ha effettuato i seguenti commit:

- Non usare unsetenv.c su mingw.

== Patch rifiutate (per adesso) ==

Nessuno è stato scontentato questa settimana :-)

== Patch in coda ==

Heikki Linnakangas ha consegnato una nuova versione della patch per
l'infrastruttura di recovery.

Heikki Linnakangas ha consegnato una patch che modifica il modo in cui
funziona la cache delle subtransazioni. Ciò è in aiuto a Hot Standby.

ITAGAKI Takahiro ha consegnato una patch per respingere
toast.fillfactor come reloption, cambiare relopt_kind in flag di bit,
e riportare il tipo della relazione negli errori di tipo "parametro
non riconosciuto".

Teodor Sigaev ha consegnato una nuova versione della patch per
l'inserimento GIN rapido.

Pavel Stehule ha consegnato una patch che aggiunge alcuni hooks al
parser per il supporto di DECODE compatibile con Oracle.

Jeff Davis ha consegnato una patch che sposta in avanti xmin in modo
più aggressivo per le transazioni che durano a lungo.

KaiGai Kohei ha consegnato due nuove versioni della patch
SE-PostgreSQL.

Alvaro Herrera ha consegnato due versioni di una patch che fa
comportare correttamente il describe di psql, quando ci si collega a
versioni diverse di PostgreSQL (una pre-8.4 e l'altra no) in relazione
alla patch reloptions.

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

Teodor Sigaev ha consegnato una nuova versione della patch per
l'emulazione B-Tree per gli indici GIN.

Andrew Chernow ha consegnato due versioni di una patch che aggiunge
una funzione PQInitCrypto(int) a libpq, consentendo di usare una
libreria crittografica separatamente da SSL.

Browse pgsql-it-generale by date

  From Date Subject
Next Message Gianni Ciolli 2009-02-27 11:10:32 == Notiziario settimanale PostgreSQL - 22 febbraio 2009 ==
Previous Message Mirko Pace 2009-02-17 16:25:24 Materiale su text mining (magari con Postgres e FTS)