Skip to content

Wöchentlicher PostgreSQL Newsletter - 22. November 2009

Der Originalartikel befindet sich unter:

== Wöchentlicher PostgreSQL Newsletter - 22. November 2009 ==

Ein Bericht von der Brasilianischen PostgreSQL Konferenz in Portugiesisch
findet sich unter:

== PostgreSQL Produkt Neuigkeiten ==

pgstat 1.1 erschienen.

== PostgreSQL Jobs im November ==

== PostgreSQL Lokal ==

Der dritte Italienische PostgreSQL Tag wird an der Universität von
Pisa am 4. Dezember stattfinden. Der Eintritt ist frei. Sponsoren
sind willkommen.

Stefan Keller gibt einen Kurs "Einführung in PostGIS/PostgreSQL" an
der HSR Hochschule für Technik Rapperswil (HSR) am 14. Januar 2010
in Zürich, Schweiz.

FOSDEM 2010 findet am 6. und 7. Februar 2010 in Brüssel,
Belgien statt.

Die Chemnitzer Linuxtage finden am 13. und 14. März in
Chemnitz, Deutschland statt.

== PostgreSQL in den News ==

Planet PostgreSQL:

Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David

Sende Neuigkeiten und Ankündigungen bis Sonntag, 15 Uhr Pazifischer
Zeit. Bitte sende englische Beiträge an, deutsche an, italienische an

== Angewandte Patches ==

Tom Lane committed:

- In pgsql/src/backend/optimizer/plan/setrefs.c, while doing the final
  setrefs.c pass over a plan tree, try to match up non-Var sort/group
  expressions using ressortgroupref labels instead of depending
  entirely on equal()-ity of the upper node's tlist expressions to the
  lower node's.  This avoids emitting the wrong outputs in cases where
  there are textually identical volatile sort/group expressions, as
  for example:
  SELECT DISTINCT random(), random() FROM generate_series(1,10);
  Per report from Andrew Gierth.  Backpatch to 8.4.  Arguably this is
  wrong all the way back, but the only known case where there's an
  observable problem is when using hash aggregation to implement
  DISTINCT, which is new as of 8.4.  So for the moment I'll refrain
  from backpatching further.

- Provide a parenthesized-options syntax for VACUUM, analogous to that
  recently adopted for EXPLAIN.  This will allow additional options to
  be implemented in future without having to make them fully-reserved
  keywords.  The old syntax remains available for existing options,
  however.  Itagaki Takahiro

- Add a hook to CREATE/ALTER ROLE to allow an external module to check
  the strength of database passwords, and create a sample
  implementation of such a hook as a new contrib module
  "passwordcheck".  Laurenz Albe, reviewed by Takahiro Itagaki.

- In pgsql/src/backend/postmaster/syslogger.c, fix memory leak in
  syslogger: logfile_rotate() would leak a copy of the output filename
  if CSV logging was enabled and only one of the two possible output
  files got rotated during a particular call (which would, in fact,
  typically be the case during a size-based rotation).  This would
  amount to about MAXPGPATH (1KB) per rotation, and it's been there
  since the CSV code was put in, so it's surprising that nobody
  noticed it before.  Per bug #5196 from Thomas Poindessous.

- Add a WHEN clause to CREATE TRIGGER, allowing a boolean expression
  to be checked to determine whether the trigger should be fired.  For
  BEFORE triggers this is mostly a matter of spec compliance; but for
  AFTER triggers it can provide a noticeable performance improvement,
  since queuing of a deferred trigger event and re-fetching of the
  row(s) at end of statement can be short-circuited if the trigger
  does not need to be fired.  Takahiro Itagaki, reviewed by KaiGai

- Fix display and dumping of UPDATE OR TRUNCATE triggers (a bizarre
  combination maybe, but we should get it right).  Bug noted while
  reviewing TRIGGER WHEN patch.  Already fixed in HEAD.

- Refactor ecpg grammar so that it uses the core grammar's
  unreserved_keyword list, minus a few specific words that have to be
  treated specially.  This replaces a hard-wired list of keywords that
  would have needed manual maintenance, and was not getting it.  The
  8.4 coding was already missing these words, causing ecpg to
  incorrectly treat them as reserved words: CALLED, CATALOG, DEFINER,
  Bosco Rama.

- Improve psql's tabular display of wrapped-around data by inserting
  markers in the formerly-always-blank columns just to left and right
  of the data.  Different marking is used for a line break caused by a
  newline in the data than for a straight wraparound.  A newline break
  is signaled by a "+" in the right margin column in ASCII mode, or a
  carriage return arrow in UNICODE mode.  Wraparound is signaled by a
  dot in the right margin as well as the following left margin in
  ASCII mode, or an ellipsis symbol in the same places in UNICODE
  mode.  "\pset linestyle old-ascii" is added to make the previous
  behavior available if anyone really wants it.  In passing, this
  commit also cleans up a few regression test files that had
  unintended spacing differences from the current actual output.
  Roger Leigh, reviewed by Gabrielle Roth and other members of PDXPUG.

- In pgsql/src/test/regress/expected/xmlmap.out, ooops, forgot to
  check the libxml cases for psql output wrapping change.

- In pgsql/src/test/regress/pg_regress.c, remove -w
  (--ignore-all-space) option from pg_regress's diff calls.  We have
  used -w for a long time as a means of reducing the reported diff
  volume when one element of a result table isn't of the expected
  width.  However, most of the time the results just pass anyway, so
  this isn't as important as it once was.  Meanwhile, the risk of
  missing potentially significant deviations has gone up, particularly
  with psql's ability to report error cursor positions.  So, let's
  switch over to space-sensitive comparisons.  Per my proposal of
  yesterday.  (All the expected files that I can test here seem to be
  ready for this already, but we'll see what the buildfarm thinks
  about others.)

- In pgsql/src/test/regress/output/largeobject_1.source, adjust
  expected-results spacing per buildfarm results.

- In pgsql/doc/src/sgml/ref/psql-ref.sgml, assorted wordsmithing on
  the documentation of \pset --- try to make it a bit more consistent
  and less obviously written by different people at different times.

Peter Eisentraut committed:

- In pgsql/src/bin/pg_dump/pg_restore.c, typo: dump -> restore.  Fixed
  in 8.4 and 8.5 Author: Guillaume Lelarge <>

- In pgsql/src/bin/psql/mainloop.c, ignore UTF-8-encoded Unicode
  byte-order mark at the beginning of a file if the client encoding is
  UTF-8.  A limited version of a patch proposed by Itagaki Takahiro

Magnus Hagander committed:

- Revert backpatch of inheritable-ACE patch for Win32, since it broke
  compatibility with pre-Windows 2000 versions.

Heikki Linnakangas committed:

- In pgsql/src/backend/optimizer/path/allpaths.c, remove superfluous
  curly brace, fixing compilation with OPTIMIZER_DEBUG.  Jan Urbanski.

== Abgelehnte Patches (bis jetzt) ==

No one was disappointed this week :-)

== Eingesandte Patches ==

ITAGAKI Takahiro sent in another revision of the VACUUM FULL
refactoring patch.

Josh Tolley sent in three more revisions of the patch to enable
PL/Perl[U] anonymous DO blocks.  Tim Bunce sent in a patch atop same
loosening some restrictions.

Zoltan Boszormenyi sent in new revisions of the patches for ECPG
implementing dynamic cursor names, SQLDA support, DESCRIBE [OUTPUT]
and out-of-scope cursor support in Informix mode.

Alvaro Herrera sent in a patch to add copydatum to SPI.

Pavel Stehule sent in another revision of the patch to allow SQL to
use psql parameters.

Heikki Linnakangas sent in a patch intended to fix a bug in the
interaction between multixacts and prepared transactions.

Alex Hunsaker sent in a patch atop Marko (johto) Tiikkaja's writeable
CTE patch along with a review.

Pavel Stehule sent in a patch to add a USING clause to OPEN FOR
EXECUTE in PL/pgsql.

Robert Haas sent in a patch atop Jeff Davis's patch to replace the
existing strategy numbers with operator OIDs.

Hannu Valtonen sent in a patch to add in-line (DO) support to

Euler Taveira de Oliveira sent in a doc patch which adds a
PG_MODULE_MAGIC block to C examples.

George Gensure sent in a patch to reference function parameters by

Joachim Wieland sent in two more revisions of the patch to add
payloads to NOTIFY.

James Pye sent in a patch to add the PL/Python3 language.

Emmanuel Cecchet sent in three more revisions of the partitioning
grammar patch.

David Wheeler sent in a doc patch for hstore.

Hiroshi Saito sent in a patch to fix win32.mak.

Andrew Dunstan sent in a WIP patch to log queries automatically in


No Trackbacks


Display comments as Linear | Threaded

No comments

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.
Form options