Features Download
From: David Fetter <david <at> fetter.org>
Subject: == PostgreSQL Weekly News - November 11 2012 ==
Newsgroups: gmane.comp.db.postgresql.announce
Date: Monday 12th November 2012 08:26:46 UTC (over 3 years ago)
== 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
  chosen anyhow.

- 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:
CD: 4ms