Notiziario settimanale PostgreSQL – 10 giugno 2012

Rilasciati aggiornamenti di sicurezza per le versioni 9.1.4, 9.0.8, 8.4.12 e 8.3.19. Aggiornate ASAP! Per informazioni:

Congratulazioni a Kevin Grittner, il più recente “committer” di PostgreSQL. Per informazioni:

“PostgreSQL Session” si terrà il 4 ottobre 2012 a Parigi, in Francia. La “call for paper” è aperta. Per informazioni:

Novità sul prodotto PostgreSQL

 Rilasciate le applicazioni di utilità GUI PaGoDump & PaGoRestore (Windows) per PG 9.1. Per informazioni:

Rilasciato pgAdmin 1.14.3, uno strumento di amministrazione GUI stand-alone. Per informazioni:

Rilasciato Postgres-XC 1.0.0, un cluster simmetrico multi-master scalabile in scrittura. Perinformazioni:

Offerte di lavoro per PostgreSQL nel mese di giugno

Per informazioni:

Notizie locali su PostgreSQL

La conferenza cinese su PostgreSQL si terrà dal 14 al 17 giugno 2012, a Pechino. Per informazioni:

“PostgreSQL Session” si terrà il 4 ottobre 2012 a Parigi, in Francia. Per informazioni:

La conferenza europea di PostgreSQL (PostgreSQL Conference Europe 2012) si terrà a Praga, in Repubblica Ceca, dal 23 al 26 ottobre 2012. La “call for sponsor” è aperta. Per informazioni:

La conferenza PostgreSQL Day Argentina si terrà il 13 novembre 2012 a Bernal (Buenos Aires), presso l’Università Nazionale di Quilmes. La conferenza coprirà argomenti adatti ad utenti, sviluppatori e collaboratori PostgreSQL, così come chi deve prendere decisioni e chi gestisce le politiche. Per maggiori informazioni sulla conferenza, si veda

Rassegna stampa su PostgreSQL

 Planet PostgreSQL:

Questo notiziario settimanale PostgreSQL è stato realizzato da David Fetter; traduzione parziale in lingua italiana a cura di Carlo Ascani.

 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; per le lingue inglese o tedesca, si scriva rispettivamente a o a Per lo spagnolo a

Patch applicate

 Tom Lane pushed:

– Fix some more bugs in contrib/xml2’s xslt_process(). It failed to
check for error return from xsltApplyStylesheet(), as reported by
Peter Gagarinov. (So far as I can tell, libxslt provides no
convenient way to get a useful error message in failure cases.
There might be some inconvenient way, but considering that this code
is deprecated it’s hard to get enthusiastic about putting lots of
work into it. So I just made it say “failed to apply stylesheet”,
in line with the existing error checks.) While looking at the code I
also noticed that the string returned by xsltSaveResultToString was
never freed, resulting in a session-lifespan memory leak.
Back-patch to all supported versions.

– Fix bogus handling of control characters in json_lex_string(). The
original coding misbehaved if “char” is signed, and also made the
extremely poor decision to print control characters literally when
trying to complain about them. Report and patch by Shigeru Hanada.
In passing, also fix core dump risk in report_parse_error() should
the parse state be something other than what it expects.

– Do unlocked prechecks in bufmgr.c loops that scan the whole buffer
pool. DropRelFileNodeBuffers, DropDatabaseBuffers,
FlushRelationBuffers, and FlushDatabaseBuffers have to scan the
whole shared_buffers pool because we have no index structure that
would find the target buffers any more efficiently than that. This
gets expensive with large NBuffers. We can shave some cycles from
these loops by prechecking to see if the current buffer is
interesting before we acquire the buffer header lock. Ordinarily
such a test would be unsafe, but in these cases it should be safe
because we are already assuming that the caller holds a lock that
prevents any new target pages from being loaded into the buffer pool
concurrently. Therefore, no buffer tag should be changing to a
value of interest, only away from a value of interest. So a false
negative match is impossible, while a false positive is safe because
we’ll recheck after acquiring the buffer lock. Initial testing says
that this speeds these loops by a factor of 2X to 3X on common Intel
hardware. Patch for DropRelFileNodeBuffers by Jeff Janes (based on
an idea of Heikki’s); extended to the remaining sequential scans by
Tom Lane

– Scan the buffer pool just once, not once per fork, during relation
drop. This provides a speedup of about 4X when NBuffers is large
enough. There is also a useful reduction in sinval traffic, since
we only do CacheInvalidateSmgr() once not once per fork. Simon
Riggs, reviewed and somewhat revised by Tom Lane

Magnus Hagander pushed:

– Backpatch error message fix from 81f6bbe8ade8c90f23f9286ca9ca726d3e0e310f.
Without this, pg_basebackup doesn’t tell you why it failed when for
example there is a file in the data directory that the backend
doesn’t have permissions to read.

– Add example of archive_command to use with pg_receivexlog

– Fix typo. Noted by Erik Rijkers

– Use strerror(errno) instead of %m. Found by Fujii Masao

– Error message capitalization fix

– Fix pg_basebackup/pg_receivexlog for floating point timestamps.
Since the replication protocol deals with TimestampTz, we need to
care for the floating point case as well in the frontend tools.
Fujii Masao, with changes from Magnus Hagander

Robert Haas pushed:

– Fix more crash-safe visibility map bugs, and improve comments. In
lazy_scan_heap, we could issue bogus warnings about incorrect
information in the visibility map, because we checked the visibility
map bit before locking the heap page, creating a race condition.
Fix by rechecking the visibility map bit before we complain.
Rejigger some related logic so that we rely on the possibly-outdated
all_visible_according_to_vm value as little as possible. In
heap_multi_insert, it’s not safe to clear the visibility map bit
before beginning the critical section. The visibility map is not
crash-safe unless we treat clearing the bit as a critical operation.
Specifically, if the transaction were to error out after we set the
bit and before entering the critical section, we could end up
writing the heap page to disk (with the bit cleared) and crashing
before the visibility map page made it to disk. That would be bad.
heap_insert has this correct, but somehow the order of operations
got rearranged when heap_multi_insert was added. Also, add some
more comments to visibilitymap_test, lazy_scan_heap, and
IndexOnlyNext, expounding on concurrency issues. Per extensive code
review by Andres Freund, and further review by Tom Lane, who also
made the original report about the bogus warnings.

– When using libpq URI syntax, error out on invalid parameter names.
Dan Farina

Simon Riggs pushed:

– Wake WALSender to reduce data loss at failover for async commit.
WALSender now woken up after each background flush by WALwriter,
avoiding multi-second replication delay for an all-async commit
workload. Replication delay reduced from 7s with default settings
to 200ms and often much less, allowing significantly reduced data
loss at failover. Andres Freund and Simon Riggs

– Fix bug in early startup of Hot Standby with subtransactions. When
HS startup is deferred because of overflowed subtransactions, ensure
that we re-initialize KnownAssignedXids for when both existing and
incoming snapshots have non-zero qualifying xids. Fixes bug #6661
reported by Valentine Gogichashvili. Analysis and fix by Andres

– Add ERROR msg for GLOBAL/LOCAL TEMP is not yet implemented

– Revert error message on GLOBAL/LOCAL pending further discussion

Peter Eisentraut pushed:

– Message style improvements

– Documentation spell and markup checking

– Documentation style improvements

– Make include files work without having to include other ones first

Bruce Momjian pushed:

– Update pgindent install instructions and update typedef list.

– Run pgindent on 9.2 source tree in preparation for first 9.3

Patch rifiutate (per adesso)

Nessuno è stato scontetao questa settimana. :-)

Patch in attesa

 Fujii Masao sent in another revision of the patch to fix incorrect

handling of the timeout in pg_receivexlog.

Ants Aasma sent in another revision of the lockfree getbuffer patch.

Robert Haas sent in a patch to remove the heap check when creating
objects in pg_catalog.

Kyotaro HORIGUCHI sent in a patch to add a new WalRcvStarted()
function to check whether streaming replication is on and to determine
whether to delay checkpoints using GetLogReplayRecPtr() when
WalRcvStarted() it returns true.

Robert Haas sent in two revisions of a patch to add a
log_newpage_buffer() function and reshuffle responsibility for using

Kyotaro HORIGUCHI sent in a patch to skip checkpoint on promoting from
streaming replication.

Amit Kapila sent in a WIP patch to provide a fallback_application_name
in pgbench.

Dean Rasheed sent in a patch to improve the error hint from DROP
FUNCTION in the case of a conflicting function by including the
command which would allow dropping the old function in same.

Noah Misch sent in a patch which does the unlink() for DROP after
releasing existing locks.

Jeff Janes sent in a patch to fix cases of quadratic behavior in
pg_dump on a large number of objects.

This Post Has 0 Comments

Leave A Reply