== PostgreSQL Weekly News - June 10 2012 == - Mailing list pgsql-announce

From David Fetter
Subject == PostgreSQL Weekly News - June 10 2012 ==
Date
Msg-id 20120611041456.GA23085@fetter.org
Whole thread Raw
List pgsql-announce
== PostgreSQL Weekly News - June 10 2012 ==

Security updates 9.1.4, 9.0.8, 8.4.12 and 8.3.19 release.  Upgrade ASAP!
http://www.postgresql.org/about/news/1398/

Congratulations to Kevin Grittner, the newest PostgreSQL committer.
http://archives.postgresql.org/pgsql-hackers/2012-06/msg00268.php

PostgreSQL Session will be held on October 4th, 2012, in Paris,
France.  The Call for Papers is open.
http://www.postgresql-sessions.org/en/4/

== PostgreSQL Product News ==

PaGoDump & PaGoRestore GUI utilities running on Windows for PG v9.1 released.
http://microolap.com/products/database/pagodump/download/

pgAdmin v1.14.3, a multi-platform stand-alone GUI administration tool, released.
http://www.pgadmin.org/development/changelog.php

Postgres-XC 1.0.0, a write-scalable multi-master symmetric cluster
based on PostgreSQL, released.
http://postgres-xc.sourceforge.net/docs/1_0/

== PostgreSQL Jobs for June ==

http://archives.postgresql.org/pgsql-jobs/2012-06/threads.php

== PostgreSQL Local ==

PostgreSQL conference China 2012 will be on June 14-17, 2012 in Beijing.
http://wiki.postgresql.org/wiki/Pgconfchina2012

PostgreSQL Session will be held on October 4th, 2012, in Paris,
France.  More information at:
http://www.postgresql-sessions.org/en/4/

PostgreSQL Conference Europe 2012 will be in Prague, Czech Republic
on October 23-26.  The call for papers is open.
http://2012.pgconf.eu/

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
http://www.pgday.com.ar/quilmes2012?lang=en

== 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 david@fetter.org, German language
to pwn@pgug.de, Italian language to pwn@itpug.org.  Spanish language
to pwn@arpug.com.ar.

== Applied Patches ==

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.
  http://git.postgresql.org/pg/commitdiff/d9b31e4859df5325b7d3d2cc94b0e907f1cf1d3e

- 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.
  http://git.postgresql.org/pg/commitdiff/3dd8e596812e3adb72aecafb23fbb6a30836c475

- 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
  http://git.postgresql.org/pg/commitdiff/e8d029a30b5a5fb74b848a8697b1dfa3f66d9697

- 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
  http://git.postgresql.org/pg/commitdiff/ece01aae479227d9836294b287d872c5a6146a11

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.
  http://git.postgresql.org/pg/commitdiff/5c3532876f8360df10692baf77a0b79c41ee001e

- Add example of archive_command to use with pg_receivexlog
  http://git.postgresql.org/pg/commitdiff/778201200b4a5b287fe931e20ae804e8398d4872

- Fix typo.  Noted by Erik Rijkers
  http://git.postgresql.org/pg/commitdiff/1e57c2c5b2e8fdd1e233454b21c60e1600464728

- Use strerror(errno) instead of %m.  Found by Fujii Masao
  http://git.postgresql.org/pg/commitdiff/92135ea0ed8f75daa86cd94301cedc7f5b714e3c

- Error message capitalization fix
  http://git.postgresql.org/pg/commitdiff/7c1abc00fa1f469a2805e88abac0fa8b094b4427

- 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
  http://git.postgresql.org/pg/commitdiff/a0b4c5a20a5e5076225ba440a921f4b46f1159ee

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.
  http://git.postgresql.org/pg/commitdiff/b50991eedb458a81d875d049f48fb62ab1685c0d

- When using libpq URI syntax, error out on invalid parameter names.
  Dan Farina
  http://git.postgresql.org/pg/commitdiff/3b5548a3d524e3b37d49f79f707d2119ecdfa303

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
  http://git.postgresql.org/pg/commitdiff/2c8a4e9be2730342cbca85150a2a9d876aa77ff6

- 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
  Freund
  http://git.postgresql.org/pg/commitdiff/37255705399b57b2e413814799f0bc9b94fda14a

- Add ERROR msg for GLOBAL/LOCAL TEMP is not yet implemented
  http://git.postgresql.org/pg/commitdiff/72335a20156b19be3a53ef686e0b31140c6f38e5

- Revert error message on GLOBAL/LOCAL pending further discussion
  http://git.postgresql.org/pg/commitdiff/28ac7972873bd314d4837807396fe44571b5cb50

Peter Eisentraut pushed:

- Message style improvements
  http://git.postgresql.org/pg/commitdiff/5d0109bd2776ce918821f360e951270caa96ba8a

- Documentation spell and markup checking
  http://git.postgresql.org/pg/commitdiff/5baf6da71701abcb76487d9de68f7d7dc6c365e9

- Documentation style improvements
  http://git.postgresql.org/pg/commitdiff/f1438cf5c6f54d0a887c7fbef91163efda5daa0f

- Make include files work without having to include other ones first
  http://git.postgresql.org/pg/commitdiff/8570114dc1a7a655043d94a6eb1ebf295f1d3647

Bruce Momjian pushed:

- Update pgindent install instructions and update typedef list.
  http://git.postgresql.org/pg/commitdiff/60801944fa105252b48ea5688d47dfc05c695042

- Run pgindent on 9.2 source tree in preparation for first 9.3
  commit-fest.
  http://git.postgresql.org/pg/commitdiff/927d61eeff78363ea3938c818d07e511ebaf75cf

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

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
it.

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.

pgsql-announce by date:

Previous
From: Fernando Lozano
Date:
Subject: Re: Release of Postgres-XC 1.0.0
Next
From: Selena Deckelmann
Date:
Subject: Call for Presentations: Postgres Open 2012