(Traduzione in lingua italiana delle PostgreSQL Weekly News a cura di Gianni Ciolli gianni.ciolli@2ndquadrant.it e Gianluca Riccardi gianluca@moonwatcher.it)
Sono adesso disponibili gli installer della snapshot della 8.4. Fai un giro sulla futura 8.4 ! http://www.postgresql.org/download/snapshots
Sono rimaste meno di due settimane di tempo per chi vorrà proporre un talk per pgCon! http://www.pgcon.org
Rilasciato MyJSQLView 3.01. http://myjsqlview.sourceforge.net/
http://archives.postgresql.org/pgsql-jobs/2009-01/threads.php
Il comando "x" della riga di comando di psql è un interruttore che permette di attivare e disattivare la "visualizzazione espansa" per i risultati delle query; è molto utile nel caso in cui tali risultati presentino righe più larghe dello schermo.
Jeff Davis parlerà al San Francisco PostgreSQL Users Group martedì 13 gennaio 2009 presso Blurb. RSVP sotto per l’ammissione e il cibo. http://postgresql.meetup.com/1/calendar/9351228/
Richard Broersma sta coordinando i volontari per uno stand a SCALE (vedi sotto). Per mettersi in contatto con lui scrivere a richard DOT broersma AT gmail DOT com.
I gruppi PostgreSQL e MySQL di Mosca organizzano un evento insieme il prossimo 22 gennaio, nella loro città. Per maggiori dettagli e iscrizioni: http://forum.postgresqlrussia.org/viewtopic.php?f=6&t=96
SYDPUG si riunirà il 3 febbraio 2009 alle 6:30 pm. Controllare periodicamente questa pagina per i dettagli. http://archives.postgresql.org/sydpug/
Molti dei soliti sospetti parteciperanno al FOSDEM il prossimo 7-8 febbraio a Bruxelles, in Belgio. http://wiki.postgresql.eu/wiki/FOSDEM_2009
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
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, Josh Berkus e Dave Page; 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.
Peter Eisentraut ha effettuato i seguenti commit:
Consentite builds fuori dall’albero su mingw e ygwin. Autore: Richard Evans.
Risolta cross-compilazione fra mingw32 e qualcos’altro. La scelta tra pwd e pwd -W è giustamente una funzione del sistema di build, non dell’host.
Quando si cross-compila consenti e richiedi l’utilizzo di un programma zic esterno quando l’opzione –with-system-tzdata non è usata. Patch iniziale da Richard Evans.
Prodotta una stringa di versione completa per Sun Studio. Da Zdenek Kotala.
In pgsql/doc/src/sgml/ddl.sgml, aggiunta una nota sul fatto che non tutti i comandi SQL supportano ONLY allo stesso modo.
Riscritta update-po target, in modo che operi meno da shell script e più come un makefile con dipendenze reali. Invece di sovrascrivere il vecchio file po, scrive il nuovo file con l’estensione .po.new. Dà meno fastidio e si integra meglio con il sito web NLS. Adesso possiamo anche aggiungere linguaggi che non hanno ancora un file po usando l’unione di tutti gli altri files po dello stesso linguaggio, in modo da effettuare automaticamente le traduzioni ricorrenti. In precedenza ciò funzionava soltanto in presenza di un file po.
In pgsql/src/nls-global.mk, un uso più portabile di "find".
Cambiato il titolo del capitolo, per cui: "III. Server Administration 15. Installation from Source Code 16. Installation from Source Code on Windows 17. Server Setup and Operation" dà agli utenti delle installazioni binarie una miglior idea di dove iniziare a leggere. Suggerito da Nikolay Samokhvalov.
Rimossi test di identificatori alquanto inutili e di casi misti che causavano dipendenze locali.
Fatto in modo che i test passino con o senza un locale.
Tom Lane ha effettuato i seguenti commit:
Aggiunte chiamate EmitWarningsOnPlaceholders ai moduli contrib che sono destinati ad essere elencati in custom_
variable_
classes.
Messi a tacere i ripetuti messaggi "loaded library" emessi dai backend figli nel ricaricare librerie già caricate nel postmaster. ITAGAKI Takahiro.
Aggiunta l’opzione –role a pg_
dump, pg_
dumpall, e pg_
restore. In questo modo si possono fare dump e restore senza violare la politica di sicurezza che vieta di collegarsi direttamente come superutente, richiedendo invece di collegarsi con un’utenza amministrativa e poi impostando il ruolo di superutente con SET ROLE. Di passaggio, ripulito codice brutto e prevalentemente guasto che si occupava del quote degli argomenti della shell in pg_
dumpall. Benedek Laszlo, con qualche aiuto da Tom Lane
In pgsql/src/backend/optimizer/util/clauses.c, risolta una disattenzione nella patch function-default-arguments: dopo aver aggiunto alcune espressioni di default a una chiamata a funzione, deve essere esguita una ricorsione di eval_
const_
expressions su tali espressioni. Altrimenti esse non si semplificano, e in particolare non si riesce ad inserire argomenti di default aggiuntivi se vi sono presente funzioni che hanno bisogno di default. Come da report di Rushabh Lathia.
In pgsql/src/backend/commands/functioncmds.c, aggiunti alcuni commenti sul perché le espressioni di default delle funzioni parametro sono ristrette.
Non sembra essere una buona idea l’esecuzione di AC_
CHECK_
SIZEOF(void *) così in anticipo rispetto a tutti gli altri check sizeof; e certamente fallisce nel seguire l’ordine suggerito in cima al file. Risistemato.
In pgsql/src/backend/utils/adt/pg_
lzcompress.c, la strategia di default per la compressione toast è stata reimpostata al comportamento precedente, nel caso in cui non vi siano limiti alle dimensioni del dato che proviamo a comprimere. Altre modifiche 8.4 al comportamento rimangono invece in vigore. In base a discussione apposita.
Un paio di utilizzi poco saggi del livello di log INFO sono stati trasformati in WARNINGs; in particolare così nel log di postmaster sono ammessi di default i messaggi EmitWarningsOnPlaceholders. Aggiornato il commento in elog.h per chiarire ulteriormente a cosa serve INFO, e corretto un esempio nella documentazione SGML che stava facendone un utilizzo errato. Mia scoperta di ieri.
Tolti i riferimenti alle mailing list pgsql-ports e pgsql-patches da varia documentazione, dato che tali liste non esistono più o sono deprecate. Messo il riferimento corretto a pgsql-bug e/o pgsql-hackers, a seconda dei casi.
In pgsql/src/backend/commands/analyze.c, chiarito un commento inesatto a proposito delle voci MVC versus histogram. Per Nathan Boley.
Modificato executor/spi.h in modo da seguire la nostra abituale convenzione per i files inclusi, per esempio, non includere postgres.h né altro di cui non abbia diretta necessità. Aggiunte le necessarie #include ai files chiamanti per compensare ciò. Come da mia proposta di ieri. Nelle note di rilascio della 8.4, ciò dovrebbe essere rubricato come una modifica del sorgente, visto che pare richiedere cambiamenti nei moduli aggiuntivi.
Inserite chiamate condizionali SPI_
push/SPI_
pop in InputFunctionCall, OutputFunctionCall, e relativi. Questo consente alle funzioni che usano SPI di invocare I/O datatype senza preoccuparsi della possibilità che venga chiamata una funzione SPI (potrebbe essere la stessa una funzione I/O, o una funzione usata in un check di dominio vincolato). È una soluzione un po’ brutta, ma non così brutta come ciò che sarebbe necessario per fare in modo di farla funzionare attraverso l’inserimento di operazioni push/pop in tutti i PL. Questo richiede un revert della mia patch del 2007-01-30 che inseriva alcune chiamate SPI_
push/pop in plpgsql; quell’approccio risolveva soltanto plpgsql e nessun altro PL, mentre gli altri PL hanno lo stesso problema come illustrato da una recente lamentela di Christian Schroeder. Correzione riportata all’indietro fino alla 8.2, oltre la quale questa soluzione non potrebbe funzionare. Prima di tale versione non occorre neanche preoccuparsi del vincolo di dominio, dal momento che le versioni precedenti non tentavano di verificare i vincoli di dominio all’interno dell’input datatype. Non sono a conoscenza di vecchie funzioni I/O che usino le SPI, dunque in termini di correzioni all’indietro questo dovrebbe essere sufficiente.
Creata una terza opzione chiamata "partition" per constraint_
exclusion, e impostata come default. Essa abilita i controlli di vincoli d’esclusione soltanto per membri appendrel (i. e., figli ereditari e UNION ALL) che sono i casi in cui la "constraint exclusion" è più utile. Evitando il sovraccarico per le query semplici che non possono trarne beneficio, si dovrebbe attenuare il costo fino al punto in cui questa possa divenire una ragionevole impostazione di default. Come da discussione di oggi.
In pgsql/src/backend/parser/analyze.c, difesa da input nullo in analyze_
requires_
snapshot(), come riportato da Rushabh Lathia.
Fatto in modo che gli argomenti di default a funzioni siano elaborati correttamente nelle espressioni che sono impostate per l’esecuzione con ExecPrepareExpr invece che tramite l’intero processo di planning. Introducendo una esplicita nozione di "expression planning", questa patch inizia a preparare il terreno per consentire forse un giorno le sub-select in espressioni stand-alone.
In pgsql/src/interfaces/libpq/fe-protocol3.c, corretto libpq in modo che riporti PGRES_
EMPTY_
QUERY e non PGRES_
COMMAND_
OK quando una stringa query vuota viene passata a PQexecParams e funzioni relative. La sua gestione della risposta NoData a messaggi Describe era sottilmente sbagliata. Come da mio report di ieri. Per quanto io consideri questo un bug, si tratta di un cambiamento comportamentale che potrebbe influenzare le applicazioni, e quindi la modifica non è riportata all’indietro. Nel frattempo risolto un secondo problema nello stesso codice: non reagiva bene a un errore out-of-memory durante il tentativo di costruire un oggetto PGResult.
In pgsql/doc/src/sgml/ref/psql-ref.sgml, un ulteriore tentativo di chiarire distv.
Rivista la API TIDBitmap per supportare iterazioni multiple e concorrenti su una bitmap. Estratto dalla patch posix_
fadvise di Greg Stark; sembra che valga la pena di fare un commit separato, dal momento che è potenzialmente utile indipendentemente da posix_
advise.
Riabilitato il vecchio codice in xlog.c che tentava l’uso di posix_
fadvise() in modo che si possa ottenere qualche feedback dalla buildfarm in merito a quanto quella funzione sia ancora problmatica. (Notare come la prevista patch async-preread di fatto non dimostrerà niente né in un verso né nell’altro durante il test nella buildfarm, poiché con le impostazioni GUC di default ciò sarà disattivato.)
Implemetato il pre-fetching atraverso posix_
fadvise() per le scansioni di indici bitmap. Una nuova variabile GUC effective_
io_
concurrency controlla quante richieste concorrenti verranno eseguite. (Il miglior modo per gestire la cosa è ancora sotto dibattito, perciò quella parte non è stata ancora applicata)
Bruce Momjian ha effettuato i seguenti commit:
Aggiornate la FAQ giapponesi. Jun Kuwamura
In pgsql/src/timezone/Makefile, risolta la regola di cross-compilazione per evitare un bug in gmake 3.78.1; documentato il cambiamento.
In pgsql/src/backend/access/common/reloptions.c, soppresso il warning del compilatore.
Aggiornato SELECT version() al fine di mostrare se si tratti di un backend a 32 bit o a 64.
In pgsql/src/backend/access/common/reloptions.c, soppresso il warning del compilatore in un modo diverso, da Alvaro Herrera.
In pgsql/src/bin/pg_
dump/pg_
restore.c, aggiornato il testo di –help di pg_
restore in modo corrispondente alla documentazione in SGML.
Rese le opzioni –clean in pg_
dump e pg_
dumpall coerenti con la documentazione SGML, per consistenza.
In pgsql/doc/src/sgml/installation.sgml, documentato il fatto che cygwin non supporta OpenSSL.
Questo fa in modo che tutti i comandi dX (più significativamente per molti: df) funzionare come dt, in quanto richiede un dXS per vedere elementi di sistema. Greg Sabino Mullane.
Aggiunta documentazione per la nuova patch dS e ripulita un po’ di documentazione. Risolto anche do e la visualizzazione dei trigger.
In pgsql/src/bin/psql/help.c, migliorata la visualizzazione dell’aiuto su z psql ? .
In pgsql/src/bin/psql/help.c, aggiunti spazi attorno alle colonne psql d*, come da idea di Joshua Drake.
In pgsql/src/bin/psql/help.c, rimossa la doppia menzione a dd nell’help di psql.
Aggiornato MinGW in modo che gestisca fseek() in modo simile a Unix.
In pgsql/src/backend/utils/error/elog.c, reso consistente l’output del log di ‘vxid’ fra csvlog e stderr/syslog. Attualmente in csvlog il vxid di un processo ausiliario non è stampato a video. D’altro canto, il vxid non valido (-1/0) in stderr/syslog è stampato. Fujii Masao
In pgsql/doc/src/sgml/ref/psql-ref.sgml, nella documentazione di psql distv è stato spezzato in quattro linee separate per ragioni di chiarezza.
In pgsql/src/backend/tcop/postgres.c, aggiornato il commento associato a ‘debug_
query_
string’.
In pgsql/src/backend/utils/adt/misc.c, aggiunto il commento sul fatto che è difficile accedere a ‘query_
string’ più accurate da current_
query().
Fatto sì che current_
query() utilizzi ActivePortal->sourceText invece che debug_
query_
string; così si permette a current_
query() di essere più accurato; aggiornata la documentazione; da idea di Tom Lane.
In pgsql/src/backend/parser/gram.y, aggiunto un commento sul perché BETWEEN usi stringhe di operatori e non opclasses, con una URL che punta alla discussione in mail.
Annullata la modifica a current_
query(), per farle usare di nuovo debug_
query_
string, aggiunto commento.
In pgsql/doc/src/sgml/func.sgml, documentato il fatto che current_
query() è la query _
client_
.
In pgsql/doc/src/sgml/func.sgml, documentato che txid_
visible_
in_
snapshot() non può essere usato con le id di subtransazioni.
In pgsql/src/test/regress/pg_
regress.c, corretto il memory leak legato al nome del file che si verificava se il nome di file atteso conteneva un punto, come da report di dvice_
null CHIOCCIOLA yahoo PUNTO com.
Aggiornate le note di rilascio per 8.3.5, 8.2.11, e 8.1.15, menzionando la necessità di reindicizzare gli indici GiST nel modo seguente: "Se stavate usando una versione 8.X.X precedente, fate REINDEX su tutti gli indici GiST dopo l’upgrade".
In pgsql/doc/src/sgml/catalogs.sgml, rimossi i tab dalla documentazione SGML.
In pgsql/doc/src/sgml/README.links, aggunto un file che spiega le opzioni di linking di SGML, ad uso degli autori di documenti SGML.
In pgsql/doc/src/sgml/README.links, aggiunta la sezione linee guida.
In pgsql/doc/src/sgml/README.links, aggiornate le linee guida sui link.
In pgsql/doc/src/sgml/libpq.sgml, modificata la documentazione sulle variabili d’ambiente di libpq perché faccia riferimento alla sezione di competenza nella documentazione sulle opzioni di connessione, come da idea di Magnus.
Alvaro Herrera ha effettuato i seguenti commit:
Cambiato il meccanismo di reloptions per usare un parser basato su tabelle, e fornito un framework più completo per scrivere routine custom di elaborazione delle opzioni per i metodi d’accesso definiti da utente.
Corretta la gestione delle stringhe reloption, KaiGai Kohei.
Un paio di migliorie ulteriori di reloption da KaiGai Kohei: aggiunta una funzione di validazione al tipo stringa e aggiunte un paio di macro per la gestione delle stringhe. Di passaggio, risolto un mio bug (sbagliavo di uno).
Tatsuo Ishii ha effettuato i seguenti commit:
Heikki Linnakangas ha effettuato i seguenti commit:
_
TRUNCATE_
FRACTION (= 16) pagine, tentavamo sempre di acquisire un AccessExclusiveLock su di essa anche se non c’erano pagine vuote alla fine. Segnalazione di Simon Riggs. Patch all’indietro fino alla 7.4 .Magnus Hagander ha effettuato i seguenti commit:
In pgsql/src/backend/utils/adt/pg_
locale.c, rivisto il codice della patch strftime, come da commenti di Tom Lane. Utilizzata la corretta dimensione del buffer MAX_
L10N_
DATA, e usata strlcpy invece di StrNCpy.
In pgsql/src/tools/msvc/Solution.pm, fatto sì che il build MSVC emetta "32-bit" alla fine della stringa di versione, così come adesso fa il build Unix.
In pgsql/src/interfaces/libpq/fe-secure.c, non richiedere a pqGetHomeDirectory di seguire qualora l’utente abbia specificato percorsi hard-coded per certificati, chiavi SSL e simili. Come notato da Andrew Chernow.
In pgsql/doc/src/sgml/config.sgml, aggiunto testo appropriato per i parametri SIGHUP invece di effettuare una semplice rimozione come faceva la precedente patch. Come da nota di Tom Lane.
Consentite le opzioni di autenticazione krb_
realm (krb5, gssapi e sspi) e krb_
server_
hostname (krb5 soltanto) di essere specificate in pg_
hba.conf riga per riga, scavalcando i default in postgresql.conf.
Aggiunto parametro include_
realm di hba all’autenticazione krb5, gss e sspi, usato per trasmettere all’autenticazione l’intera stringa username@realm invece dell’username soltanto. Questo rende possibile usare pg_
ident.conf per autenticare utenti da realm multipli come se fossero utenti DB diversi.
Rese krb_
realm e krb_
server_
hostname opzioni per pg_
hba soltanto, e rimossi i loro GUC. Di passaggio, aggiunte le opzioni di autenticazione per krb5 in pg_
hba, avendo notato che non erano menzionate per nulla.
In pgsql/src/backend/utils/adt/pg_
locale.c, corretto l’uso di strftime su Win32 quando si tenta di ottenere le parti coerenti con il locale di una stringa time in modo che possa gestire propriamente diverse codifiche. Patch originale di Hiroshi Saito, fortemente rielaborata da me e ITAGAKI Takahiro.
Andrew Dunstan committed:
_
constraint confupdtype, confdeltype and confmatchtype columns.Andrew Dunstan ha effettuato i seguenti commit:
In pgsql/src/include/pg_
config.h.win32, definito HAVE_
FSEEKO per MSVC.
In pgsql/doc/src/sgml/catalogs.sgml, documentati i valori per le colonne confupdtype, confdeltype e confmatchtype in pg_
constraint.
Nessuno è stato scontentato questa settimana :-)
KaiGai Kohei ha consegnato altre due versioni delle sue patch SE-PostgreSQL.
Martin Pihlak ha consegnato una nuova versione del suo codice per un gestore di connessioni compatibile SQL/MED, che contiene delle funzioni che elencano le opzioni di una connessione dall’esterno sia come stringa che come insieme di risultati.
Nathan Boley ha consegnato una correzione che, nel caso di distribuzioni con code ad alta densità, consente ad ANALYZE di duplicare i bordi dell’istogramma, e riduce il numero di barre dell’istogramma quando trova valori abbastanza frequenti.
Bryce Cutt ha consegnato un’altra versione della patch che migliora le prestazioni dei multi-batch hash join sugli insiemi di dati sghembi.
KaiGai Kohei ha consegnato una correzione, da aggiungere alla patch di Stephen Frost’s per i privilegi a livello di colonna, assicurandosi che solo le colonne disponibili vengano usate nei JOIN, etc.
Robert Haas ha consegnato una versione ripulita della patch che migliora le prestazioni dei multi-batch hash join sugli insiemi di dati sghembi.
Heikki Linnakangas ha consegnato una patch che toglie i lock ai blocchi degli indici, da applicare dopo la patch hot standby di Simon Riggs.
Fujii Masao ha consegnato una nuova versione della patch per la gestione dei segnali, che funge da infrastruttura per la replica sincrona.
ITAGAKI Takahiro ha consegnato una patch che corregge LC_
TIME su Windows in lingua giapponese.
David Wheeler ha consegnato una patch che aggiunge una menzione a CITEXT nella FAQ che discute le funzioni di paragone case-insensitive.
Hitoshi Harada ha consegnato un esempio di una funzione di windowing definita dall’utente.
Stephen Frost ha consegnato altre quattro revisioni della sua patch per la gestione dei permessi a livello di colonna.
Heikki Linnakangas ha consegnato una patch per aiutare la patch di hot standby, rifattorizzando il codice in modo che le funzioni di redo siano responsabili per le chiamate a RestoreBkpBlocks.
Andrew Dunstan ha consegnato una nuova versione della sua patch per il restore parallelo.
Magnus Hagander ha consegnato due approcci per la risoluzione di un problema kerberos; il primo, togliendo il supporto per l’acquisizione del nome utente, il secondo, togliendo per il momento il messaggio di errore.
Hiroshi Inoue ha consegnato una nuova versione di una patch che corregge lc_
messages su Windows in lingua giapponese.
Peter Eisentraut ha consegnato una patch che aggiunge a TRUNCATE il supporto per LOCK e ONLY, e impostanto la ricorsione come comportamento di default sulle tabelle ereditarie.
KaiGai Kohei ha consegnato una nuova versione delle sue patch SE-PostgreSQL.
Alvaro Herrera ha consegnato una patch che corregge il codice reloptions.
Jeff Davis ha consegnato una versione aggiornata della patch di Kenneth Marshall che aggiorna le funzioni di hash.
Bernd Helmle ha consegnato altre due versioni della sua patch per le viste aggiornabili.
Heikki Linnakangas ha consegnato una patch che rimuove le slotid dalla patch di hot standby.
Fujii Masao ha consegnato una nuova versione della patch per la replica sincrona.
Robert Haas ha consegnato una nuova versione della patch POSIX fadvise.
Jeff Davis ha consegnato una versione aggiornata della patch per l’emulazione degli indici B-Tree tramite GIN.
This Post Has 0 Comments