== PostgreSQL Weekly News - November 11 2012 ==
== PostgreSQL Jobs for November ==
== PostgreSQL Local ==
PostgreSQL Day Argentina 2012 will be held on November 13th in Bernal,
Buenos Aires, at the National University of Quilmes. It will cover
topics for PostgreSQL users, developers and contributors, as well as
decision and policy makers. For more information about the
conference, please see the website at
This year Ecuador's PGDay will be held at Quito city on November 17th,
2012. The Call for Papers is open until October 10. Send proposals
to Jaime Casanova jaime 2ndquadrant com.
The sixth edition of the Italian PostgreSQL Day (PGDay.IT 2012) will
be held on November 23, 2012 in Prato, Tuscany. The International
Call for Papers is now open. Talks and presentations in English are
accepted. Information in English for papers submission is available
== PostgreSQL in the News ==
Planet PostgreSQL: http://planet.postgresql.org/
PostgreSQL Weekly News is brought to you this week by David Fetter
Submit news and announcements by Sunday at 3:00pm Pacific time.
Please send English language ones to [email protected], German language
to [email protected], Italian language to [email protected] Spanish language
to [email protected]
== Applied Patches ==
Tom Lane pushed:
- Fix handling of inherited check constraints in ALTER COLUMN TYPE.
This case got broken in 8.4 by the addition of an error check that
complains if ALTER TABLE ONLY is used on a table that has children.
We do use ONLY for this situation, but it's okay because the
necessary recursion occurs at a higher level. So we need to have a
separate flag to suppress recursion without making the error check.
Reported and patched by Pavan Deolasee, with some editorial
adjustments by me. Back-patch to 8.4, since this is a regression of
functionality that worked in earlier branches.
- Fix missing inclusions. Some platforms require including
and/or to use htonl() and ntohl(). Per
build failure locally.
- Don't trash input list structure in does_not_exist_skipping(). The
trigger and rule cases need to split up the input name list, but
they mustn't corrupt the passed-in data structure, since it could be
part of a cached utility-statement parsetree. Per bug #7641.
- Rename ResolveNew() to ReplaceVarsFromTargetList(), and tweak its
API. This function currently lacks the option to throw error if the
provided targetlist doesn't have any matching entry for a Var to be
replaced. Two of the four existing call sites would be better off
with an error, as would the usage in the pending
auto-updatable-views patch, so it seems past time to extend the API
to support that. To do so, replace the "event" parameter
(historically of type CmdType, though it was declared plain int)
with a special-purpose enum type. It's unclear whether this
function might be called by third-party code. Since many C
compilers wouldn't warn about a call site continuing to use the old
calling convention, rename the function to forcibly break any such
code that hasn't been updated. The old name was none too well
- Fix WaitLatch() to return promptly when the requested timeout
expires. If the sleep is interrupted by a signal, we must recompute
the remaining time to wait; otherwise, a steady stream of
non-wait-terminating interrupts could delay return from WaitLatch
indefinitely. This has been shown to be a problem for the
autovacuum launcher, and there may well be other places now or in
the future with similar issues. So we'd better make the function
robust, even though this'll add at least one gettimeofday call per
wait. Back-patch to 9.2. We might eventually need to fix 9.1 as
well, but the code is quite different there, and the usage of
WaitLatch in 9.1 is so limited that it's not clearly important to do
so. Reported and diagnosed by Jeff Janes, though I rewrote his
patch rather heavily.
- Check for stack overflow in transformSetOperationTree(). Since
transformSetOperationTree() recurses, it can be driven to stack
overflow with enough UNION/INTERSECT/EXCEPT clauses in a query. Add
a check to ensure it fails cleanly instead of crashing. Per report
from Matthew Gerber (though it's not clear whether this is the only
thing going wrong for him). Historical note: I think the reasoning
behind not putting a check here in the beginning was that the check
in transformExpr() ought to be sufficient to guard the whole parser.
However, because transformSetOperationTree() recurses all the way to
the bottom of the set-operation tree before doing any analysis of
the statement's expressions, that check doesn't save it.
Bruce Momjian pushed:
- In pg_upgrade, set synchronous_commit=off for the new cluster, to
improve performance when restoring the schema from the old cluster.
Backpatch to 9.2.
- In pg_upgrade docs, mention using base backup as part of rsync for
logical replication upgrades. Backpatch to 9.2.
- Add URLs to document why DLLIMPORT is needed on Windows. Per email
from Craig Ringer
Heikki Linnakangas pushed:
- Make the streaming replication protocol messages
architecture-independent. We used to send structs wrapped in
CopyData messages, which works as long as the client and server
agree on things like endianess, timestamp format and alignment.
That's good enough for running a standby server, which has to run on
the same platform anyway, but it's useful for tools like
pg_receivexlog to work across platforms. This breaks protocol
compatibility of streaming replication, but we never promised that
to be compatible across versions, anyway.
- Teach pg_basebackup and pg_receivexlog to reply to server
keepalives. Without this, the connection will be killed after
timeout if wal_sender_timeout is set in the server. Original patch
by Amit Kapila, modified by me to fit recent changes in the code.
Alvaro Herrera pushed:
- Don't try to use a unopened relation. Commit 4c9d0901 mistakenly
introduced a call to TransferPredicateLocksToHeapRelation() on an
index relation that had been closed a few lines above. Moving up an
index_open() call that's below is enough to fix the problem.
Discovered by me while testing an unrelated patch.
- Remove leftover LWLockRelease() call. This code was refactored in
d5497b95 but an extra LWLockRelease call was left behind. Per
report from Erik Rijkers
Peter Eisentraut pushed:
- XSLT stylesheet: Add slash to directory name. Some versions of the
XSLT stylesheets don't handle the missing slash correctly (they
concatenate directory and file name without the slash). This might
never have worked correctly.
- doc: "only relevant" -> "relevant only". Karl O. Pinc
== Rejected Patches (for now) ==
Chen Huajun's patch to fix the errcontext() function. Not all
compilers support the varargs macros on which it depends.
== Pending Patches ==
Pavel Stehule sent in another revision of the \gset patch for psql.
Karl O. Pinc sent in two more revisions of a patch to fix some table
formatting in the docs.
Robert Haas sent in a patch to fix a failure to infer types in
Laurenz Albe sent in a patch extending libpq to support combinations
of text and binary results.
Amit Kapila sent in another revision of the patch to improve
performance for update operations by reducing WAL activity.
Fujii Masao sent in a patch which adds a pgstatginindex() function.
Fujii Masao sent in two patches to make walreceiver detect network
partitions faster, one by not checking for integer_datetimes, the
other by removing redundant GetCurrentTimestamp() calls from
XLogWalRcvSendReply() and XLogWalRcvSendHSFeedback(), where
--enable-integer-datetimes is on.
Jeff Janes sent in a patch to fix the bug where autovacuum is being
starved by sinval messages. The approach taken involves adding a poll
Jeff Janes sent in a patch to fix pg_dump for pg_upgrade purposes.
Jon Erdman sent in two revisions of a patch to indicate a function's
security status (invoker or definer) in \df+ output.
Tom Lane sent in three revisions of a patch to fix an oversight in
buffer locking during hot standby replay.
Tomas Vondra sent in another revision of a patch to allow admins to
cut down the amount of output in pg_bench via sampling every five
seconds rather than constantly.
Tomas Vondra sent in another revision of the patch to make dropping
multiple tables quicker.
Tomas Vondra sent in another revision of a patch to enable writing
aggregate input to the log.
Sent via pgsql-announce mailing list ([email protected])
To make changes to your subscription: