Features Download
From: David Fetter <david <at> fetter.org>
Subject: == PostgreSQL Weekly News - September 23 2012 ==
Newsgroups: gmane.comp.db.postgresql.announce
Date: Monday 24th September 2012 06:06:04 UTC (over 4 years ago)
== PostgreSQL Weekly News - September 23 2012 ==

Bug fix releases 9.2.1, 9.1.6, 9.0.10, 8.4.14, and 8.3.21 will be out
soon.  Get ready to upgrade!

== PostgreSQL Product News ==

Another PostgreSQL Diff Tool (apgdiff) 2.4, a tool for database diffs,

The Lua PostgreSQL module has been updated.

ODB 2.1.0, an ORM for C++, supports PostgreSQL.

== PostgreSQL Jobs for September ==


== PostgreSQL Local ==

There will be a PGDay October 3, 2012 at UNICAMP, Campinas, São Paulo

PostgreSQL Session will be held on October 4th, 2012, in Paris,
France.  More information at:

PostgreSQL Conference Europe 2012 will be in Prague, Czech Republic
on October 23-26.

There will be a PGDay November 9, 2012 at USP, São Paulo

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:

- Provide adequate documentation of the "table_name *" notation.
  Somewhere along the line, somebody decided to remove all trace of
  this notation from the documentation text.  It was still in the
  command syntax synopses, or at least some of them, but with no
  indication what it meant.  This will not do, as evidenced by the
  confusion apparent in bug #7543; even if the notation is now
  unnecessary, people will find it in legacy SQL code and need to know
  what it does.

- Fix array_typanalyze to work for domains over arrays.  Not sure how
  we missed this case, but we did.  Per bug #7551 from Diego de Lima.

- Fix planning of btree index scans using ScalarArrayOpExpr quals.  In
  commit 9e8da0f75731aaa7605cf4656c21ea09e84d2eb1, I improved btree to
  handle ScalarArrayOpExpr quals natively, so that constructs like
  "indexedcol IN (list)" could be supported by index-only scans.
  Using such a qual results in multiple scans of the index,
  under-the-hood.  I went to some lengths to ensure that this still
  produces rows in index order ... but I failed to recognize that if a
  higher-order index column is lacking an equality constraint, rescans
  can produce out-of-order data from that column.  Tweak the planner
  to not expect sorted output in that case.  Per trouble report from
  Robert McGehee.

- Update time zone data files to tzdata release 2012f.  DST law
  changes in Fiji.

- Put back AcceptInvalidationMessages calls in heap_openrv(_extended).
  These calls were removed in commit
  4240e429d0c2d889d0cda23c618f94e12c13ade7 as part of a general
  refactoring and improvement of DDL locking.  However, there's a
  problem not solved by the rewrite, which is that GRANT/REVOKE update
  pg_class.relacl without taking any particular lock on the target
  table as such.  If another backend fails to do
  AcceptInvalidationMessages, it won't notice a recently-committed
  change in ACLs.  Bug #7557 from Piotr Czachur demonstrates that
  there's at least one code path in 9.2.0 in which a command fails to
  do any AcceptInvalidationMessages calls at all, if the current
  transaction already holds all the locks it will need.  Since we're
  hard up against the release deadline for 9.2.1, fix this by putting
  back the AcceptInvalidationMessages calls in heap_openrv and
  heap_openrv_extended, thereby restoring the historical behavior in
  this area.  We ought to look for a more elegant and perhaps more
  bulletproof solution, but there's no time for that right now.

- Update release notes for 9.2.1, 9.1.6, 9.0.10, 8.4.14, 8.3.21.

- Improve ruleutils.c's heuristics for dealing with rangetable
  aliases.  The previous scheme had bugs in some corner cases
  involving tables that had been renamed since a view was made.  This
  could result in dumped views that failed to reload or reloaded
  incorrectly, as seen in bug #7553 from Lloyd Albin, as well as in
  some pgsql-hackers discussion back in January.  Also, its behavior
  for printing EXPLAIN plans was sometimes confusing because of
  willingness to use the same alias for multiple RTEs (it was Ashutosh
  Bapat's complaint about that aspect that started the January
  thread).  To fix, ensure that each RTE in the query has a unique
  unqualified alias, by modifying the alias if necessary (we add "_"
  and digits as needed to create a non-conflicting name).  Then we can
  just print its variables with that alias, avoiding the confusing and
  bug-prone scheme of sometimes schema-qualifying variable names.  In
  EXPLAIN, it proves to be expedient to take the further step of only
  assigning such aliases to RTEs that are actually referenced in the
  query, since the planner has a habit of generating extra RTEs with
  the same alias in situations such as inheritance-tree expansion.
  Although this fixes a bug of very long standing, I'm hesitant to
  back-patch such a noticeable behavioral change.  My experiments
  while creating a regression test convinced me that actually
  incorrect output (as opposed to confusing output) occurs only in
  very narrow cases, which is backed up by the lack of previous
  complaints from the field.  So we may be better off living with it
  in released branches; and in any case it'd be smart to let this
  ripen awhile in HEAD before we consider back-patching it.

- Minor corrections for ALTER TYPE ADD VALUE IF NOT EXISTS patch.
  Produce a NOTICE when the label already exists, for consistency with
  other CREATE IF NOT EXISTS commands.  Also, fix the code so it
  produces something more user-friendly than an index violation when
  the label already exists.  This not incidentally enables making a
  regression test that the previous patch didn't make for fear of
  exposing an unpredictable OID in the results.  Also some
  wordsmithing on the documentation.

Peter Eisentraut pushed:

- libpq: Add missing directory to installdirs target.  It prevented
  the libpq directory from being installable by itself.

- pg_upgrade: Remove check for pg_config.  It is no longer used, but
  was still being checked for.  bug #7548 from Reinhard Max

- Update translation updates instructions

Alvaro Herrera pushed:

- Remove execdesc.h inclusion from tcopprot.h

- RELEASE_NOTES: Fix typo.  Jan Urbański

Heikki Linnakangas pushed:

- Fix obsolete comment.  load_hba and load_ident load stuff in a
  separate memory context nowadays, not in the current memory context.

- Parse pg_ident.conf when it's loaded, keeping it in memory in parsed
  format.  Similar changes were done to pg_hba.conf earlier already,
  this commit makes pg_ident.conf to behave the same as pg_hba.conf.
  This has two user-visible effects. First, if pg_ident.conf contains
  multiple errors, the whole file is parsed at postmaster startup time
  and all the errors are immediately reported. Before this patch, the
  file was parsed and the errors were reported only when someone tries
  to connect using an authentication method that uses the file, and
  the parsing stopped on first error. Second, if you SIGHUP to reload
  the config files, and the new pg_ident.conf file contains an error,
  the error is logged but the old file stays in effect.  Also, regular
  expressions in pg_ident.conf are now compiled only once when the
  file is loaded, rather than every time the a user is authenticated.
  That should speed up authentication if you have a lot of regexps in
  the file.  Amit Kapila

Andrew Dunstan pushed:

- Allow IF NOT EXISTS when add a new enum label.  If the label is
  already in the enum the statement becomes a no-op.  This will reduce
  the pain that comes from our not allowing this operation inside a
  transaction block.  Andrew Dunstan, reviewed by Tom Lane and Magnus

- Fix docs typo

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Joachim Wieland sent in another revision of the patch to implement
parallel pg_dump.

Heikki Linnakangas sent in two different revisions of the patch to
create a facility to read transaction logs.

Marco Nenciarini sent in another revision of the patch to enable
support for array element foreign keys.

Amit Kapila sent in a set of tests for writeable views.  In response,
Dean Rasheed sent in another revision of the patch implementing

Shigeru HANADA and Pavel Stehule traded patches to add \gset, which
sets psql variables to the row in the output of the SQL query it

Heikki Linnakangas sent in another revision of the patch to help
XLogInsert scale better.

Tomas Vondra sent in another revision of the patch to aggregate
pg_bench information in the log.

Selena Deckelmann sent in another revision of the patch to improve the
way "include" directives in postgresql.conf work.

Amit Kapila and Pavel Stehule traded test cases and patches for the
feature to get the number of rows processed by COPY.

Karl O. Pinc sent in three revisions of a patch to add a
--truncate-tables option to pg_restore.

Amit Kapila sent in another revision of the patch to allow detecting
network partitions more quickly during replication.

Fabrízio de Royes Mello sent in another revision of the patch to add

Andres Freund sent in a design document for WAL-based logical

KaiGai Kohei sent in another revision of the patch to allow writes on

Satoshi Nagayasu sent in a PoC patch to implement load balancing in

Karl O. Pinc sent in a doc patch to add a warning about how partial
database restores work.

Karl O. Pinc sent in a doc patch to add a link from CREATE TABLE to

Karl O. Pinc sent in a doc patch clarifying which system catalog
tables have OIDs vs. ordinary PRIMARY KEYs.

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