Features Download
From: David Fetter <david <at> fetter.org>
Subject: == PostgreSQL Weekly News - March 03 2013 ==
Newsgroups: gmane.comp.db.postgresql.announce
Date: Monday 4th March 2013 05:53:06 UTC (over 3 years ago)
== PostgreSQL Weekly News - March 03 2013 ==

== PostgreSQL Product News ==

pgBadger 3.0, a parallel PostgreSQL log analyzer written in Perl,

PG Partition Manager v1.0.0, an automated partition management
extension for time & serial id based table partitioning, released.

PostGIS 2.0.3, the industry standard geographic information system for
PostgreSQL, released.

RHQ 4.6, an open source management platform which includes support for
PostgreSQL, released.

== PostgreSQL Local ==

PyPgDay will be held on March 13th at the Santa Clara Convention
Center, the first day of PyCon.  Info here:

PGDay NYC 2013 will be held on March 22, 2013 in New York City.

PG Day France is the major French-speaking PostgreSQL community event.
The deadline for sending proposals is Saturday, March 24, 2013 at
23:59 CEST.

PostgreSQL Session will be held on March 28th, 2013 in Paris,
France.  The Call for Papers is open.

PGCon 2013 will be held May 23-24 2013, in Ottawa at the University of

The 6th annual "Prague PostgreSQL Developers Day" conference,
organized by CSPUG (Czech and Slovak PostgreSQL Users Group), will be
held on May 30, 2013 at Faculty of Mathematics and Physics, Charles
University (Malostranske namesti 25, Prague).  The CfP is open until
April 14, 2013 .  More information in Czech is at

The Call for Papers for PostgreSQL Brazil, to be held August 15-17,
2013 in Porto Velho, RO, Brazil, is open.  Proposals are due by March
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:

- Add -d option to pg_basebackup and pg_receivexlog, for connection
  string.  Without this, there's no way to pass arbitrary libpq
  connection parameters to these applications. It's a bit strange that
  the option is called -d/--dbname, when in fact you can *not* pass a
  database name in it, but it's consistent with other client
  applications where a connection string is also passed using -d.
  Original patch by Amit Kapila, heavily modified by me.

- Add -d/--dbname option to pg_dump.  You could already pass a
  database name just by passing it as the last option, without -d.
  This is an alias for that, like the -d/--dbname option in psql and
  many other client applications. For consistency.

- Add -d option to pg_dumpall, for specifying a connection string.
  Like with pg_basebackup and pg_receivexlog, it's a bit strange to
  call the option -d/--dbname, when in fact you cannot pass a database
  name in it.  Original patch by Amit Kapila, heavily modified by me.

- Only quote libpq connection string values that need quoting.
  There's no harm in excessive quoting per se, but it makes the
  strings nicer to read. The values can get quite unwieldy, when
  they're first quoted within within single-quotes when included in
  the connection string, and then all the single-quotes are escaped
  when the connection string is passed as a shell argument.

- Remove the check for COPY TO STDIN and COPY FROM STDOUT from ecpg.
  The backend grammar treats STDIN and STDOUT completely
  interchangeable, so that the above accepted. Arguably that was a
  mistake the backend grammar, but it's not ecpg's business to second
  guess that.

- Add standard file header comment to quotes.c.

  copy-out mode, the frontend should not send any messages until the
  backend has finished streaming, by sending a CopyDone message. I'm
  not sure if it would be legal for the client to send a new query
  before receiving the CopyDone message from the backend, but trying
  to support that would require bigger changes to the backend code
  structure.  Fixes an assertion failure reported by Fujii Masao.

- Fix typo in "pg_xlogdump --help" and error message.  Fujii Masao and

- Fix MSVC build.  The new file in src/port needs to be listed in
  Mkvcbuild.pm as well.

- Remove spurious "the", and add a missing one.  Thom Brown and me.

- Add support for piping COPY to/from an external program.  This
  includes backend "COPY TO/FROM PROGRAM '...'" syntax, and
  corresponding psql \copy syntax. Like with reading/writing files,
  the backend version is superuser-only, and in the psql version, the
  program is run in the client.  In the passing, the psql \copy
  STDIN/STDOUT syntax is subtly changed: if you the stdin/stdout is
  quoted, it's now interpreted as a filename. For example, "\copy foo
  from 'stdin'" now reads from a file called 'stdin', not from
  standard input. Before this, there was no way to specify a filename
  called stdin, stdout, pstdin or pstdout.  This creates a new
  function in pgport, wait_result_to_str(), which can be used to
  convert the exit status of a process, as returned by wait(3), to a
  human-readable string.  Etsuro Fujita, reviewed by Amit Kapila.

Andrew Dunstan pushed:

- Redo MSVC build implementation for pg_xlogdump.  The previous commit
  didn't work on MSVC editions earlier than Visual Studio 2011,
  apparently. This works by copying files into the contrib directory,
  and making provision to clean them up, which should work on all

Peter Eisentraut pushed:

- doc: Fix markup typo

- Exclude utils/probes.h and pg_trace.h from cpluspluscheck.  They can
  include sys/sdt.h from SystemTap, which itself contains C++ code and
  so won't compile with a C++ compiler under extern "C" linkage.

- doc: A few awkward phrasing fixes.  Josh Kupershmidt

- doc: Small tweak for consistency.  submitted by "Lyle"

- psql: Let \l accept a pattern.  reviewed by Satoshi Nagayasu

Tom Lane pushed:

- Install headers from the new src/include/common subdirectory.  This
  got missed in commit 8396447cdbdff0b62914748de2fec04281dc9114.
  Andres Freund

- Clean up "stopgap" implementation of timestamptz_to_str().  Use
  correct type for "result", fix bogus strftime argument, don't use
  unnecessary static variables, improve comments.  Andres Freund and
  Tom Lane

- Add missing .gitignore file.

- Add missing error check in regexp parser.  parseqatom() failed to
  check for an error return (NULL result) from its recursive call to
  parsebranch(), and in consequence could crash with a null-pointer
  dereference after an error return.  This bug has been there since
  day one, but wasn't noticed before, probably because most error
  cases in parsebranch() didn't actually lead to returning NULL.  Add
  the missing error check, and also tweak parsebranch() to exit in a
  less indirect fashion after a call to parseqatom() fails.  Report by
  Tomasz Karlik, fix by me.

- Eliminate memory leaks in plperl's spi_prepare() function.  Careless
  use of TopMemoryContext for I/O function data meant that repeated
  use of spi_prepare and spi_freeplan would leak memory at the session
  level, as per report from Christian Schröder.  In addition,
  spi_prepare leaked a lot of transient data within the current plperl
  function's SPI Proc context, which would be a problem for repeated
  use of spi_prepare within a single plperl function call; and it
  wasn't terribly careful about releasing permanent allocations in
  event of an error, either.  In passing, clean up some
  copy-and-pasteos in query-lookup error messages.  Alex Hunsaker and
  Tom Lane

- Fix SQL function execution to be safe with long-lived FmgrInfos.
  fmgr_sql had been designed on the assumption that the FmgrInfo it's
  called with has only query lifespan.  This is demonstrably unsafe in
  connection with range types, as shown in bug #7881 from Andrew
  Gierth.  Fix things so that we re-generate the function's cache data
  if the (sub)transaction it was made in is no longer active.
  Back-patch to 9.2.  This might be needed further back, but it's not
  clear whether the case can realistically arise without range types,
  so for now I'll desist from back-patching further.

- Get rid of any toast table when converting a table to a view.  Also
  make sure other fields of the view's pg_class entry are appropriate
  for a view; it shouldn't have relfrozenxid set for instance.  This
  ancient omission isn't believed to have any serious consequences in
  versions 8.4-9.2, so no backpatch.  But let's fix it before it does
  bite us in some serious way.  It's just luck that the case doesn't
  cause problems for autovacuum.  (It did cause problems in 8.3, but
  that's out of support.) Andres Freund

- Fix map_sql_value_to_xml_value() to treat domains like their base
  types.  This was already the case for domains over arrays, but not
  for domains over certain built-in types such as boolean.  The
  special formatting rules for those types should apply to domains
  over them as well.  Per discussion.  While this is a bug fix, it's
  also a behavioral change that seems likely to trip up some
  applications.  So no back-patch.  Pavel Stehule

Alvaro Herrera pushed:

- Improve pg_upgrade commentary on multixact change.  Per gripe from
  Andres Freund

Kevin Grittner pushed:

- Add a materialized view relations.  A materialized view has a rule
  just like a view and a heap and other physical properties like a
  table.  The rule is only used to populate the table, references in
  queries refer to the materialized data.  This is a minimal
  implementation, but should still be useful in many cases.  Currently
  data is only populated "on demand" by the CREATE MATERIALIZED VIEW
  and REFRESH MATERIALIZED VIEW statements.  It is expected that
  future releases will add incremental updates with various timings,
  and that a more refined concept of defining what is "fresh" data
  will be developed.  At some point it may even be possible to have
  queries use a materialized in place of references to underlying
  tables, but that requires the other above-mentioned features to be
  working first.  Much of the documentation work by Robert Haas.
  Review by Noah Misch, Thom Brown, Robert Haas, Marko Tiikkaja
  Security review by KaiGai Kohei, with a decision on how best to
  implement sepgsql still pending.

- Remove accidentally-committed .orig file.

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Greg Smith sent in two more revisions of a patch to add page

Andres Freund sent in an RfC patch to extend namespace of valid GUC

Andrew Dunstan sent in another revision of a patch to enhance JSON

Ivan Lezhov sent in another revision of a patch to clarify the
documentation on custom format pg_dump backups.

Jonathan Rogers sent in another revision of a patch to allow using
filesystem-level cloning to speed up operations like CREATE DATABASE.

Kyotaro HORIGUCHI and Pavel Stehule traded patches to enhance the
format function.

Michael Paquier sent in another revision of a patch to add REINDEX

Zoltan Boszormenyi sent in another revision of a patch to fix
lock_timeout on Windows.

Alexander Korotkov sent in another revision of a patch to improve
selectivity for ranges in GIN.

Heikki Linnakangas sent in a patch to help make the LZ compressor work

Alvaro Herrera sent in another revision of a patch to support dropped
objects in event triggers.

Heikki Linnakangas sent in a patch to make the scanner and parser more
efficient by adding some flex states to help with the UESCAPE cases.

Satoshi Nagayasu sent in another revision of a patch to fix
pgstattuple/pgstatindex to use regclass-type as the argument.

Laurenz Albe sent in a documentation patch to clarify the use of
floating point.

Greg Smith sent in another revision of a patch to catch a buffer
assertion issue under certain pgbench loads.

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