Notiziario settimanale PostgreSQL – 6 maggio 2012

La conferenza “PostgreSQL Cina 2012” si terrà il 14 Giugno 2012 a Pechino. Per informazioni:

È disponibile il numero #01 di Postgresql Magazine. Per informazioni:

Il gruppo di utenti PostgreSQL turco (PostgreSQL Turkey User Group) sta organizzando la seconda edizione della conferenza turca su PostgreSQL ad Istanbul, il 12 maggio 2012. Magnus Hagander terrà il discorso di apertura. La registrazione è gratuita. Per informazioni:


Novità sul prodotto PostgreSQL

ODB 2.0.0,  un ORM per C++, supporta PostgreSQL.

Per informazioni:

Per il download:


Offerte di lavoro per PostgreSQL nel mese di maggio

Per informazioni:

Notizie locali su PostgreSQL

PGCon 2012 si terrà nei giorni 17 e 18 maggio 2012 ad Ottawa, Canada, presso l’Università di Ottawa. Sarà preceduto da due giorni di tutorial dal 15 al 16 maggio. Per informazioni:

PGDay France si terrà a Lione il 7 giugno 2012. 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:

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

Bruce Momjian pushed:

– Add comments suggesting usage of git_changelog to generate release

– Mark git_changelog examples with the proper executable names.

– Remove BSD/OS (BSDi) port. There are no known users upgrading to
Postgres 9.2, and perhaps no existing users either.

– Fix psql doc typo.

– Revert typo fix 768c3affd44d1dcb4e43e2e006c642524714c2a4; I was

– Document that it is the pgsql version we are matching for psqlrc
version-specific files, not the server version.

Robert Haas pushed:

– Remove duplicate word in comment. Noted by Peter Geoghegan.

– Tweak psql to print row counts when \x auto chooses non-expanded
output. Noah Misch

– More duplicate word removal.

– Further corrections from the department of redundancy department.
Thom Brown

– Avoid repeated CLOG access from heap_hot_search_buffer. At the time
we check whether the tuple is dead to all running transactions,
we’ve already verified that it isn’t visible to our scan, setting
hint bits if appropriate. So there’s no need to recheck CLOG for
the all-dead test we do just a moment later. So, add
HeapTupleIsSurelyDead() to test the appropriate condition under the
assumption that all relevant hit bits are already set. Review by
Tom Lane.

– Add missing parenthesis in comment.

Peter Eisentraut pushed:

– Mark ReThrowError() with attribute noreturn. All related functions
were already so marked.

– Improve markup of cmdsynopsis elements. Add more markup in
particular so that the command options appear consistently in
monospace in the HTML output. On the vacuumdb reference page,
remove listing all the possible options in the synopsis. They have
become too many now; we have the detailed options list for that.

– Fix display of <command> elements on man pages. We had changed this
from the default bold to monospace for all output formats, but for
man pages, this creates visual inconsistencies, so revert to the
default for man pages.

– Remove dead ports. Remove the following ports: dgux, nextstep,
sunos4, svr4, ultrix4, and univel. These are obsolete and not worth
rescuing. In most cases, there is circumstantial evidence that they
wouldn’t work anymore anyway.

– Even more duplicate word removal, in the spirit of the season

– PL/Python: Fix crash in functions returning SETOF and using SPI.
Allocate PLyResultObject.tupdesc in TopMemoryContext, because its
lifetime is the lifetime of the Python object and it shouldn’t be
freed by some other memory context, such as one controlled by SPI.
We trust that the Python object will clean up its own memory.
Before, this would crash the included regression test case by trying
to use memory that was already freed. reported by Asif Naeem,
analysis by Tom Lane

– doc: Fix for too many brackets in command synopses on man pages.
The default for the choice attribute of the <arg> element is “opt”,
which would normally put the argument inside brackets. But the
DSSSL stylesheets contain a hack that treats <arg> directly inside
<group> specially, so that <group><arg>-x</arg><arg>-y</arg></group>
comes out as [ -x | -y ] rather than [ [-x] | [-y] ], which it would
technically be. But when building man pages, this doesn’t work, and
so the command synopses on the man pages contain lots of extra
brackets. By putting choice=”opt” or choice=”plain” explicitly on
every <arg> and <group> element, we avoid any toolchain dependencies
like that, and it also makes it clearer in the source code what is
meant. In passing, make some small corrections in the documentation
about which arguments are really optional or not.

– PL/Python: Improve test coverage. Add test cases for inline handler
of plython2u (when using that language name), and for result object
element assignment. There is now at least one test case for every
top-level functionality, except plpy.Fatal (annoying to use in
regression tests) and result object slice retrieval and slice
assignment (which are somewhat broken).

Tom Lane pushed:

– Converge all SQL-level statistics timing values to float8
milliseconds. This patch adjusts the core statistics views to match
the decision already taken for pg_stat_statements, that values
representing elapsed time should be represented as float8 and
measured in milliseconds. By using float8, we are no longer tied to
a specific maximum precision of timing data. (Internally, it’s
still microseconds, but we could now change that without needing
changes at the SQL level.) The columns affected are
pg_stat_database.blk_read_time, pg_stat_database.blk_write_time,
pg_stat_user_functions.total_time, pg_stat_user_functions.self_time,
pg_stat_xact_user_functions.total_time, and
pg_stat_xact_user_functions.self_time. The first four of these are
new in 9.2, so there is no compatibility issue from changing them.
The others require a release note comment that they are now double
precision (and can show a fractional part) rather than bigint as
before; also their underlying statistics functions now match the
column definitions, instead of returning bigint microseconds.

– Kill some remaining references to SVR4 and univel. Both terms still
appear in a few places, but I thought it best to leave those alone
in context.

– Overdue code review for transaction-level advisory locks patch.
Commit 62c7bd31c8878dd45c9b9b2429ab7a12103f3590 had assorted
problems, most visibly that it broke PREPARE TRANSACTION in the
presence of session-level advisory locks (which should be ignored by
PREPARE), as per a recent complaint from Stephen Rees. More
abstractly, the patch made the LockMethodData.transactional flag not
merely useless but outright dangerous, because in point of fact that
flag no longer tells you anything at all about whether a lock is
held transactionally. This fix therefore removes that flag
altogether. We now rely entirely on the convention already in use
in lock.c that transactional lock holds must be owned by some
ResourceOwner, while session holds are never so owned. Setting the
locallock struct’s owner link to NULL thus denotes a session hold,
and there is no redundant marker for that. PREPARE TRANSACTION now
works again when there are session-level advisory locks, and it is
also able to transfer transactional advisory locks to the prepared
transaction, but for implementation reasons it throws an error if we
hold both types of lock on a single lockable object. Perhaps it
will be worth improving that someday. Assorted other minor cleanup
and documentation editing, as well. Back-patch to 9.1, except that
in the 9.1 branch I did not remove the LockMethodData.transactional
flag for fear of causing an ABI break for any external code that
might be examining those structs.

Heikki Linnakangas pushed:

– Remove duplicate words in comments. Found these with grep -r “for
for “.

Magnus Hagander pushed:

– Remove link to ODBCng project from the docs. This backatches
Heikki’s patch in 140a4fbf1a87891a79a2c61a08416828d39f286a to make
sure the documentation on the website gets updated, since we’re
regularly receiving complains about this link.

Patch rifiutate (per adesso)

Nessuno è stato scontentato questa settimana. :-)

Patch in attesa

 Ryan Kelly sent in another revision of the patch to allow breaking out

of hung connection attempts in libpq.

Noah Misch sent in a patch to prevent a theoretical torn page hazard
in ginRedoUpdateMetapage().

Pavel Stehule sent in a patch to add new error fields to PL/pgsql.

Laurenz Albe sent in another revision of the patch to analyze foreign
tables which gets the FDW to show that a value was non-NULL but
removed due to excess width by returning a value of length

Peter Geoghegan sent in two revisions of a patch to latch up the WAL
Writer, reducing wake-ups and thus saving electricity in a way that is
more-or-less analogous to his previous work on the BGWriter.

Magnus Hagander sent in a patch to reduce the number of “Unexpected EOF
on client connection” messages clogging people’s logs.

Jan Urbanski sent in a patch to fix an issue with PL/PythonU where
result set slicing was broken in the Python3 case.

This Post Has 0 Comments

Leave A Reply