Notiziario settimanale PostgreSQL – 8 marzo 2009

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

La lista pgsql-announce può adesso essere seguita su twitter @PGSQL_Announce.

Kevin Kempter parlerà di backup e recovery al primo incontro del PUG di Denver (USA) il giorno 8 aprile 2009. http://www.diapug.org/Meeting.html

Nuova indagine: tu utilizzi mai i cataloghi di sistema di PostgreSQL? http://www.postgresql.org/community

Sono aperte le iscrizioni alla PostgreSQL Conference (JDCon) East 2009. http://www.postgresql.us/purchase

Novità sul prodotto PostgreSQL

Rilasciata la versione 9.2 di PostgreSQL Maestro, una GUI per amministrazione e sviluppo in ambiente Windows. http://www.sqlmaestro.com/products/postgresql/maestro/

Rilasciata la versione 2.0.4 di Npgsql2, un provider di dati .NET per PostgreSQL. http://www.npgsql.org

Rilasciata l’appliance Turnkey di PostgreSQL versione 8.3.5. http://www.turnkeylinux.org/appliances/postgresql

Rilasciata l’appliance Turnkey di Linux LAPP. http://www.turnkeylinux.org/appliances/lapp/updates/new-turnkey-lapp-version-200902-hardy

Rilasciata la versione 0.4 di Golconde, un sistema di replica basato sulle code e scritto in Python. http://code.google.com/p/golconde/

La novità della settimana di PostgreSQL 8.4

auto_explain. Questa caratteristica "contrib" permette, se installata, di abilitare e disattivare (runtime) il log automatico dei piani di explian per le query lente sul log di PostgreSQL.

Il suggerimento della settimana

Le righe in pg_hba.conf sono esaminate nell’ordine in cui sono scritte, e soltanto la prima linea corrispondente alla connessione viene utilizzata.

Offerte di lavoro su PostgreSQL per marzo 2009

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

Notizie locali su PostgreSQL

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

PostgreSQLFr avrà uno stand a Solutions Linux 2009, dal 31 marzo al 2 aprile a Parigi. Iscrivetevi a sas AT postgresql DOT fr oppure tramite le pagine wiki in lingua francese: http://postgresql.fr/sl2009:start

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/

Michael Renner farà un workshop sulla replica con PostgreSQL a Netways OSDC 2009 il 29 e 30 aprile a Norimberga, in Germania. http://www.netways.de/english/osdc/y2009/programm/w/michael_renner_postgresql_repliziert_ein_ueberblick/

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

Segnatevi la data: pgDay San Jose (USA). Domenica 19 luglio subito prima di OSCON. Saranno presto annunciate ulteriori informazioni! (incluso il call for papers)

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

Patch Applicate

Teodor Sigaev ha effettuato i seguenti commit:

  • Corretto l’uso di char2wchar/wchar2char. Modifiche: pg_wchar e wchar_t potrebbero avere dimensione diversa, per cui char2wchar non chiama pg_mb2wchar_with_len per prevenire bug legati al mancato rispetto dei confini della memoria. Resi char2wchar/wchar2char simmetrici, ora non dovrebbero essere chiamati con una locale C perché mbstowcs/wcstombs spesso non funziona corrattamente con una tale locale. Il parser del testo usa pg_mb2wchar_with_len nel caso in cui si usi una locale C e una codifica multibyte. Come da bug report da Hiroshi Inoue e discussione successiva. Patch indietro fino a 8.2 quando è stato implementato il supporto multibyte in tsearch.

Tom Lane ha effettuato i seguenti commit:

  • Quando ci si trova in problemi legati alla ricorsione dei messaggi di errore, ho fatto in modo di sopprimere le conversioni di codifica e traduzione di qualsiasi messaggio elog/ereport inviato al frontend. Questo generalizza una patch che ho inserito lo scorso ottobre, la quale sopprimeva solo le traduzioni dei messaggi specifici notoriamente associati a problemi del tipo non-posso-tradurre-il-messaggio. Come mostrato nel bug #4680 serve una risposta più generalizzata per poter avere qualche speranza di farcela con i setup di conversione di codifiche sbagliati. Ad ogni modo, questo approccio sembra meno particolare. Patch all’indietro su tutte le versioni supportate.

  • In pgsql/src/backend/utils/error/elog.c, ooops … corrette delle confusione fra gettext() e _() nella mia precedente patch. Il codice era stato spostato nelle versioni precedenti, per cui i copia+incolla da HEAD non avevano funzionato come previsto.

  • In pgsql/src/backend/utils/adt/float.c, ripristinato il nostro vecchio rimedio per quelle macchine che dichiarano cbrt() in math.h ma poi non riescono a fornire tale funzione. Non sono sicuro sul come abbiamo evitato di testare tali casi successivamente alla 7.3, ma essi esistono ancora, come da report di André Volpato a proposito di AIX 5.3.

  • Corretto il controllo dei privilegi a livello di colonna quando le tabelle genitore e figlio hanno una diversa numerazione degli attributi. In aggiunta, per riferirsi all’intera riga sulla tabella genitore non dovrebbe servire il privilegio select sulle colonne che il figlio non eredita dal genitore. Problema diagnosticato da KaiGai Kohei, benché non riguardi esattamente la sua patch.

  • In pgsql/doc/src/sgml/backup.sgml, rimossa la documentazione del parametro log_restartpoints che è obsoleto essendo stato sostituito da log_checkpoints. Fujii Masao

  • Istruito il planner a supportare metodi di accesso agli indici che implementino o soltanto amgettuple o soltanto amgetbitmap, aggiornando l’impostazione precedente per la quale ogni metodo di accesso doveva supportare ambedue le API. Estratto dalla patch fast-GIN-insert di Teodor Sigaev, con una moderata editorializzazione. Quale che sia il destino di tale patch, questa modifica sembra una semplice e ragionevole generalizzazione delle specifiche dell’interfaccia dei metodi di accesso.

Heikki Linnakangas ha effettuato i seguenti commit:

  • In pgsql/src/include/storage/lwlock.h, rimosso il posto di LWLockId invece del già rimosso FreeSpaceLock. Come puntualizzato da ITAGAKI Takahiro, nella 8.4 divideremo SInvalLock in due, quindi per mantenere invariata rispetto alla 8.3 la numerazione degli altri lock non è necessario occupare alcun posto vuoto.

  • In pgsql/src/backend/postmaster/postmaster.c, corretto un errore introdotto da copia+incolla nella patch che consentiva al bgwriter di essere in esecuzione durante un recovery: se i processi bgwriter o pgstat muoiono durante il recovery (o qualsiasi altro processo figlio, ma quei due sono gli unici in esecuzione) invia un SIGQUIT al processo di startup usando il pid corretto.

  • In pgsql/src/backend/commands/functioncmds.c, aggiunti alcuni controlli d’integrità a CREATE CAST … WITHOUT FUNCTION. Disabilitati i tipi composite, enum e array perché sicuramente non sono compatibili in binario con nient’altro poiché contengono gli OID. Ispirato dal bug report di Oleg Serov.

  • Ricarica il file di configurazione nel processo d’avvio quando si riceve un SIGHUP. Fujii Masao.

  • Aggiunto MUST (Mauritius Island Summer Time) alla lista delle abbreviazioni conosciute. Le Mauritius hanno iniziato ad usare l’ora legale nell’estate 2008-2009: la libreria Olson è stata già aggiornata. Xavier Bugaud

Magnus Hagander ha effettuato i seguenti commit:

  • In pgsql/src/backend/libpq/hba.c, registra un avviso nei logs invece di spegnere il sistema se non è possibile caricare pg_hba.conf in seguito a un reload (ad esempio, per via di un errore che riguarda i permessi). Selena Deckelmann.

  • In pgsql/src/backend/libpq/hba.c, modificato il messaggio di d’errore di hba load da WARNING a LOG. Come da commento di Tom Lane.

  • In pgsql/src/backend/libpq/hba.c, riporta tutti gli errori nel parsing di pg_hba prima di interromperne il caricamento, invece di fermarsi dopo il primo errore. Selena Deckelmann

  • In pgsql/src/tools/msvc/Mkvcbuild.pm, corretto il build MSVC in merito ai nuovi modi di incorporare keywords.c e kwlookup.c.

Peter Eisentraut ha effettuato i seguenti commit:

  • In pgsql/src/backend/storage/file/fd.c, non violare attivamente il limite massimo di sistema di files aperti (RLIMIT_NOFILE). Così si evitano dei log del kernel irritanti (se le opzioni di violazione dei limiti di sistema sono abilitate) e anche il segnale grsecurity in fase di avvio di PostgreSQL. Patch originale da Jacek Drobiecki.

  • Aggiunti i nuovi codici d’errore SQL:2008 per valori non validi di LIMIT e OFFSET. Rimosso il codice d’errore non standard che era forse stato pensato per questo scopo, ma che non è mai stato usato.

  • Fornita una minima documentazione propria all’opzione –binary-upgrade di pg_dump(all). Non vogliamo vincolarci troppo al comportamento specifico di tale opzione, però nascondere tale informazione non farebbe altro che creare confusione.

  • In pgsql/src/backend/parser/scan.l, chiarito al traduttore che yyerror() ha a che fare con la traduzione di "syntax error", non con la traduzione della stringa. In precedenza avevo le idee confuse su questo tema, ma adesso ho verificato che tutto è tradotto appropriatamente.

  • In pgsql/src/bin/pg_dump/pg_backup_archiver.c, sistemazione dei messaggi.

Alvaro Herrera ha effettuato i seguenti commit:

  • Separata la lista di parole chiave che era in keywords.c in un nuovo file d’intestazione kwlist.h, per evitare di dover effettuare il linking del file oggetto del backend in altri programmi come pg_dump. Adesso possiamo semplicemente effettuare un link simbolico di un singolo file sorgente dal backend (kwlookup.c, che contiene la routine condivisa ScanKeywordLookup) e compilarlo localmente, il che è molto più chiaro.

  • In pgsql/src/bin/scripts/Makefile, scansata la rottura di MSVC, introdotta da un mio precedente commit, evitando di usare una certa variabile nel Makefile in src/bin/scripts.

  • Su Windows, chiama bind_textdomain_codeset anche su dominii che non siano il dominio di default, in modo che il codeset sia appropriatamente mappato sui nuovi dominii PL aggiunti.

  • Aggiunti commenti sulle aspettative di kwlookup.c

  • pg_bind_textdomain_codeset deve esistere soltanto in ENABLE_NLS.

  • Riconvertito pg_bind_textdomain_codeset a una funzione esistente, ma vuota, nel caso in cui ENABLE_NLS non sia definito, per una migliore compatibilità del backend con moduli compilati nell’altro modo. Come da nota di Tom Lane dopo il mio precedente commit.

Patch rifiutate (per adesso)

Nessuno è stato scontentato questa settimana :-)

Patch in coda

Bryce Cutt ha consegnato una nuova versione della patch che migliora le prestazioni delle hash join multi-batch per insiemi di dati sghembi.

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

Fujii Masao ha consegnato una nuova versione della sua patch che migliora le prestazioni di PITR.

Josh Tolley ha consegnato una patch all’indietro per la versione 8.3 col proposito di duplicare la patch di Selena Deckelmann (messaggio di classe WARNING invece di FATAL se in fase di reload non si riesce a leggere pg_hba.conf) applicata a HEAD questa settimana.

Heikki Linnakangas ha consegnato una patch per pg_standby che ne modifica il comportamento in occasione di SIGQUIT, uccidendo immediatamente pg_standby, e provocando quindi la morte FATAL anche del processo di startup.

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

Teodor Sigaev ha consegnato una nuova versione della patch per l’inserimento rapido degli indici GIN.

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

Pavel Stehule ha consegnato una nuova versione della notazione mista nominale per le funzioni.

Robert Lor ha consegnato due versioni di una patch che aggiunge le sonde DTrace di Theo Schlossnagle.

Zdenek Kotala ha consegnato una patch che corregge i test di regressione per la locale Ceca.

Andrew Dunstan ha consegnato una ottimizzazione per il pg_restore parallelo.

Gregory Stark ha consegnato una patch per prevenire un potenziale conflitto tra HOT e indici concorrenti.

Selena Deckelmann ha consegnato una patch che permette a ParseConfigFile di riportare tutti gli errori di parsing prima di gettare la spugna.

This Post Has 0 Comments

Leave A Reply