(Traduzione in lingua italiana delle PostgreSQL Weekly News a cura di Gianni Ciolli gianni.ciolli@2ndquadrant.it e Gianluca Riccardi gianluca@moonwatcher.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.
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/
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.
Non creare indici su colonne a bassa cardinalità, a meno che non siano parte di un indice multicolonna.
http://archives.postgresql.org/pgsql-jobs/2009-02/threads.php
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.
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.
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, 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:
Nessuno è stato scontentato questa settimana :-)
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.
This Post Has 0 Comments