Features Download
From: David Fetter <david <at> fetter.org>
Subject: == PostgreSQL Weekly News - July 14 2013 ==
Newsgroups: gmane.comp.db.postgresql.announce
Date: Monday 15th July 2013 03:34:35 UTC (over 4 years ago)
== PostgreSQL Weekly News - July 14 2013 ==

== PostgreSQL Product News ==

PostgreSQL Maestro 13.7, an ODBC-based management tool which works
with PostgreSQL, released.

== PostgreSQL Jobs for July ==


== PostgreSQL Local ==

We're going to have a booth at OSCON this year.  Please sign up and
hang out at the booth for an hour or two:

PGDay UK 2013 is July 12, 2013.  Registration is closing soon.  Book now!

PostgreSQL Brazil will be held August 15-17, 2013 in Porto Velho, RO,

Postgres Open 2013 will be in Chicago, IL, USA, September 16-18.

The Italian PGDay (PGDay.IT) will be held on October the 25th in
Prato, Tuscany, Italy, at Monash University Center.
The International Call For Papers is open:

pgconf.EU 2013 will be held on Oct 29-Nov 1, 2013 at the Conrad Hotel
in downtown Dublin, Ireland.  The CfP is open.

PGConf.DE 2013 will be held November 8th, 2013, at the Rhineland
Industrial Museum in Oberhausen.  The CfP is open through September
15, 2013.

== 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 ==

Heikki Linnakangas pushed:

- Improve scalability of WAL insertions.  This patch replaces
  WALInsertLock with a number of WAL insertion slots, allowing
  multiple backends to insert WAL records to the WAL buffers
  concurrently. This is particularly useful for parallel loading large
  amounts of data on a system with many CPUs.  This has one
  user-visible change: switching to a new WAL segment with
  pg_switch_xlog() now fills the remaining unused portion of the
  segment with zeros. This potentially adds some overhead, but it has
  been a very common practice by DBA's to clear the "tail" of the
  segment with an external pg_clearxlogtail utility anyway, to make
  the WAL files compress better.  With this patch, it's no longer
  necessary to do that.  This patch adds a new GUC, xloginsert_slots,
  to tune the number of WAL insertion slots. Performance testing
  suggests that the default, 8, works pretty well for all kinds of
  worklods, but I left the GUC in place to allow others with different
  hardware to test that easily. We might want to remove that before
  release.  Reviewed by Andres Freund.

- Fix pg_test_fsync, broken by xloginsert scaling patch.  I didn't
  realize that ALIGNOF_XLOG_BUFFER was used in pg_test_fsync.

- Fix Windows build.  Was broken by my xloginsert scaling patch.
  XLogCtl global variable needs to be initialized in each process, as
  it's not inherited by fork() on Windows.

- Add #include needed for _mm_mfence() intrinsic on ia64.  Hopefully
  this fixes the build failure on buildfarm member dugong.

- Fix memory barrier support on icc on ia64, 2nd attempt.  Itanium
  doesn't have the mfence instruction - that's a 386 thing. Use the
  "mf" instruction instead.  This reverts the previous commit to add
  "#include "; the problem was not with a missing

Alvaro Herrera pushed:

- Fix mention of htup.h in pageinspect docs.  It's htup_details.h now.
  Jeff Janes

Peter Eisentraut pushed:

- Fix bool abuse.  path_encode's "closed" argument used to take three
  values: TRUE, FALSE, or -1, while being of type bool.  Replace that
  with a three-valued enum for more clarity.

- Fix lack of message pluralization

- Add coverage/ to .gitignore

- doc: Replace link to pgFouine with pgBadger.  From: Ian Lawrence

- pg_dump: Formatting cleanup of new messages

- Add session_preload_libraries configuration parameter.  This is like
  shared_preload_libraries except that it takes effect at backend
  start and can be changed without a full postmaster restart.  It is
  like local_preload_libraries except that it is still only settable
  by a superuser.  This can be a better way to load modules such as
  auto_explain.  Since there are now three preload parameters, regroup
  the documentation a bit.  Put all parameters into one section,
  explain common functionality only once, update the descriptions to
  reflect current and future realities.  Reviewed-by: Dimitri Fontaine

- pg_isready: Message improvement

Bruce Momjian pushed:

- pg_upgrade: document possible pg_hba.conf options.  Previously,
  pg_upgrade docs recommended using .pgpass if using MD5
  authentication to avoid being prompted for a password.  Turns out
  pg_ctl never prompts for a password, so MD5 requires .pgpass ---
  document that.  Also recommend 'peer' for authentication too.
  Backpatch back to 9.1.

Noah Misch pushed:

- Switch user ID to the object owner when populating a materialized
  view.  This makes superuser-issued REFRESH MATERIALIZED VIEW safe
  regardless of the object's provenance.  REINDEX is an earlier
  example of this pattern.  As a downside, functions called from
  materialized views must tolerate running in a security-restricted
  operation.  CREATE MATERIALIZED VIEW need not change user ID.
  Nonetheless, avoid creation of materialized views that will
  invariably fail REFRESH by making it, too, start a
  security-restricted operation.  Back-patch to 9.3 so materialized
  views have this from the beginning.  Reviewed by Kevin Grittner.

- Make comments reflect that omission of SPI_gettypmod() is

- Document the OVER keyword as being unreserved.  It became so in
  commit 5893ffa79c03824f34ae3d37f211381fd1c17283.  David Fetter,
  extracted from a larger patch.

Stephen Frost pushed:

- During parallel pg_dump, free commands from master.  The command
  strings read by the child processes during parallel pg_dump, after
  being read and handled, were not being free'd.  This patch corrects
  this relatively minor memory leak.  Leak found by the Coverity
  scanner.  Back patch to 9.3 where parallel pg_dump was introduced.

- pg_receivexlog - Exit on failure to parse.  In
  streamutil.c:GetConnection(), upgrade failure to parse the
  connection string to an exit(1) instead of simply returning NULL.
  Most callers already immediately exited, but pg_receivexlog would
  loop on this case, continually trying to re-parse the connection
  string (which can't be changed after pg_receivexlog has started).
  GetConnection() was already expected to exit(1) in some cases (eg:
  failure to allocate memory or if unable to determine the
  integer_datetimes flag), so this change shouldn't surprise anyone.
  Began looking at this due to the Coverity scanner complaining that
  we were leaking err_msg in this case- no longer an issue since we
  just exit(1) immediately.

- Ensure 64bit arithmetic when calculating tapeSpace.  In
  tuplesort.c:inittapes(), we calculate tapeSpace by first figuring
  out how many 'tapes' we can use (maxTapes) and then multiplying the
  result by the tape buffer overhead for each.  Unfortunately, when we
  are on a system with an 8-byte long, we allow work_mem to be larger
  than 2GB and that allows maxTapes to be large enough that the 32bit
  arithmetic can overflow when multiplied against the buffer overhead.
  When this overflow happens, we end up adding the overflow to the
  amount of space available, causing the amount of memory allocated to
  be larger than work_mem.  Note that to reach this point, you have to
  set work mem to at least 24GB and be sorting a set which is at least
  that size.  Given that a user who can set work_mem to 24GB could
  also set it even higher, if they were looking to run the system out
  of memory, this isn't considered a security issue.  This overflow
  risk was found by the Coverity scanner.  Back-patch to all supported
  branches, as this issue has existed since before 8.4.

- Be sure to close() file descriptor on error case.  In
  receivelog.c:writeTimeLineHistoryFile(), we were not properly
  closing the open'd file descriptor in error cases.  While this
  wouldn't matter much if we were about to exit due to such an error,
  that's not the case with pg_receivexlog as it can be a long-running
  process and these errors are non-fatal.  This resource leak was
  found by the Coverity scanner.  Back-patch to 9.3 where this issue
  first appeared.

- Fix resource leak in initdb -X option.  When creating the symlink
  for the xlog directory, free the string which stores the link
  location.  Not really an issue but it doesn't hurt to be good about
  this- prior cleanups have fixed similar issues.  Leak found by the
  Coverity scanner.  Not back-patching as I don't see it being worth
  the code churn.

- Check version before allocating PQExpBuffer.  In
  pg_dump.c:getEventTriggers, check what major version we are on
  before calling createPQExpBuffer() to avoid leaking that bit of
  memory.  Leak discovered by the Coverity scanner.  Back-patch to 9.3
  where support for dumping event triggers was added.

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

KONDO Mitsumasa sent in two more revisions of a patch to improve the
checkpoint IO scheduler for stable transaction responses.

Hari Babu sent in two more revisions of a patch to compute Max LSN of
Data Pages.

Pavel Stehule sent in another revision of a patch to improve
performance of calculations with NUMERIC.

KaiGai Kohei sent in two more revisions of a patch to implement
row-level access control.

MauMau sent a patch intended to silence what could potentially be many
redundant error messages when statistics file is inaccessible.

James Sewell sent in another revision of a patch to add an ldapoption
to disable chasing LDAP referrals.

Bernd Helmle and Dean Rasheed traded patches to add tab completion to
write operations on both foreign tables and writeable views.

Dimitri Fontaine sent in two more revisions of a patch to implement
extension templates.

Pavel Stehule sent in two more revisions of a patch to add a simple
date constructor using integers.

Sawada Masahiko sent in two more revisions of a patch to enable
fail-back without creating a new backup on the previously failed node.

Kevin Grittner sent in another revision of a patch to implement

Josh Kupershmidt sent in a patch to implement tab completion for

ivan babrou sent in another revision of a patch to implement
millisecond precision for connect_timeout in libpq.

Fabien COELHO sent in another revision of a patch to implement
a progress indicator for pgbench.

Jeevan Chalke sent in a patch to fix a misbehavior in greedy regexes.

Dean Rasheed sent in a patch to let psql see any updateable relations,
whether they're domestic tables, foreign tables, or views.

Nicholas White sent in another revision of a patch to allow LEAD and
LAG window functions to ignore NULLs.

Gibheer sent in a patch to add a new GUC, replication_reserved_connections,
to reserve connection slots for replication in the same way
superuser_reserved_connections works for superusers.

Fabien COELHO sent in another revision of a patch to add a "big" test
to make check.

Michael Paquier sent in another revision of a patch to implement

Andres Freund sent in a patch to add an Assert to catcache.c.

Stas Kelvich sent in a patch to optimize storage and lookups in

Cedric Villemain sent in another revision of a patch to to document
some changes in VPATH builds.

Karol Trzcionka sent in another revision of a patch to implement

Abhijit Menon-Sen sent in a patch to instrument an issue where an
INSERT wrecks plans on a table.

Peter Eisentraut sent in a patch to fix an issue where ECPG has two
slightly different prototypes.

Fabrízio de Royes Mello sent in another revision of a patch to add
support for "IF NOT EXISTS" to the remaining "CREATE" statements which
don't yet have it.

Greg Smith and Fabien COELHO traded patches to add a --throttle option
to pgbench.

Noah Misch sent in another revision of a patch to add FILTER for

Sent via pgsql-announce mailing list ([email protected])
To make changes to your subscription:
CD: 4ms