Features Download
From: David Fetter <david <at> fetter.org>
Subject: == PostgreSQL Weekly News - September 11 2011 ==
Newsgroups: gmane.comp.db.postgresql.announce
Date: Monday 12th September 2011 07:57:00 UTC (over 6 years ago)
== PostgreSQL Weekly News - September 11 2011 ==

The Call for Papers for is open for FLOSS UK, which will be held in
Edinburgh from the 20th to the 22nd March 2012.  The deadline for
proposals is the 18th November 2011 and selected speakers will be
notified by the 25th November 2011.  Proposals should be submitted to
postgresql2012 AT flossuk DOT org.  More information at:

New Survey: When do you plan to upgrade to 9.1?

NYCPUG presents "PostgreSQL 9.1 Overview" with Bruce Momjian at
6:30pm September 22, 2011 at Yodle.  RSVP and details below.

== PostgreSQL Product News ==

pgpool-II 3.1.0, a connection pooler and more, released.

xlogdump 0.4.0, a tool for extracting data from WAL segment files,

== PostgreSQL Jobs for September ==


== PostgreSQL Local ==

Postgres Open 2011, a conference focused on disruption of the database
industry through PostgreSQL, will take place September 14-16, 2011 in
Chicago, Illinois at the Westin Michigan Avenue hotel.

PostgreSQL Conference West (#PgWest) will be held September 27th-30th,
2011 at the San Jose Convention center in San Jose, California, USA.

PostgreSQL Conference Europe 2011 will be held on October 18-21 in

PG-Day Denver 2011 will be held on Friday, October 21st, 2011 at
the Auraria Campus near downtown Denver, Colorado.

pgbr will be in Sao Paulo, Brazil November 3-4, 2011.

PGConf.DE 2011 is the German-speaking PostgreSQL Conference and will
take place on November 11th in the Rheinisches Industriemuseum in
Oberhausen, Germany.  Call for Papers is open.

The fifth edition of the Italian PostgreSQL Day (PGDay.IT 2011) will
be held on November 25, 2011 in Prato, Italy.

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

== Reviews ==

== Applied Patches ==

Bruce Momjian pushed:

- Document that contrib/pgtrgm only processes ASCII alphanumeric
  characters.  Backpatch to 9.0 and 9.1.

- Add mention that UTC really means UT1.  Backpatch to 9.1.

- Add C comment about why we send cache invalidation messages for
  session-local objects.

- Add documentation link to strftime supported options.

- Properly document semphore requirements by accounting for worker
  processes.  Backpatch to 9.1 and 9.0.  Submitted by Anton
  Yuzhaninov, confirmed by Robert Haas

- Document PERFORM limitation when using WITH queries.  Backpatch to
  9.0 and 9.1.  Report from Dmitry Epstein.

- Fix plpgsql "PERFORM" markup.  Backpatch to 9.0 and 9.1.

- Add documentation suggestion about adding a comment to the top of
  pgpass.  Backpatch to 9.1.

- Fix spelling mistake in pgpass documentation change.  Per Peter

- Properly document the existance of OLD/NEW trigger pl/pgsql trigger
  fields.  Backpatch to 9.0 and 9.1.  Report from Pavel Stehule, patch
  from Josh Kupershmidt

- Revert documentation patch about NEW/OLD and triggers.  Backpatch to
  9.0 and 9.1.  Patch from Josh Kupershmidt.

- Fix to_date() and to_timestamp() to handle year masks of length < 4
  so they wrap toward year 2020, rather than the inconsistent behavior
  we had before.

- Fix bug introduced by pgrminclude where the tablespace version name
  was not expanded.  Bump catalog version number to force initdb for
  all tablespaces.

- Have pgrminclude skip files that use CppAsString2 because
  CppAsString2 will expaned undefined identifiers.

- In pg_upgrade, disallow migration of 8.3 clusters using
  contrib/ltree because its internal format was changed in 8.4.
  Backpatch to 9.0 and 9.1.  Report by depesz, diagnosis by Tom.

- Allow bcc32 and win32 batch files to compile libpq.  Backpatch to
  9.1.  By Hiroshi Saito

- Remove unnecessary MATCH FULL specification in example.  Reported by
  Grzegorz Szpetkowski.

- Document that only user-defined columns are expanded by SELECT *.

- Remove double-quoting of table names in clusterdb.  BACKWARD
  COMPABILITY BREAKAGE.  Remove double-quoting of index/table names in
  reindexdb.  BACKWARD COMPABILITY BREAKAGE.  Document thate
  user/database names are preserved with double-quoting by
  command-line tools like vacuumdb.

Tom Lane pushed:

- Update time zone data files to tzdata release 2011i.  DST law
  changes in Canada, Egypt, Russia, Samoa, South Sudan.

- Update type-conversion documentation for long-ago changes.  This
  example wasn't updated when we changed the behavior of bpcharlen()
  in 8.0, nor when we changed the number of parameters taken by the
  bpchar() cast function in 7.3.  Per report from lsliang.

- Add an "incompatibility" entry to 9.1 release notes about CREATE
  EXTENSION.  We've now seen more than one gripe from somebody who
  didn't get the memo about how to install contrib modules in 9.1.
  Try to make it a little more prominent that you aren't supposed to
  call the scripts directly anymore.

- Avoid possibly accessing off the end of memory in
  examine_attribute().  Since the last couple of columns of pg_type
  are often NULL, sizeof(FormData_pg_type) can be an overestimate of
  the actual size of the tuple data part.  Therefore memcpy'ing that
  much out of the catalog cache, as analyze.c was doing, poses a small
  risk of copying past the end of memory and incurring SIGSEGV.  No
  such crash has been identified in the field, but we've certainly
  seen the equivalent happen in other code paths, so patch this one
  all the way back.  Per valgrind testing by Noah Misch, though this
  is not his proposed patch.  I chose to use SearchSysCacheCopy1
  rather than inventing special-purpose infrastructure for copying
  only the minimal part of a pg_type tuple.

- Avoid possibly accessing off the end of memory in SJIS2004
  conversion.  The code in shift_jis_20042euc_jis_2004() would fetch
  two bytes even when only one remained in the string.  Since
  conversion functions aren't supposed to assume null-terminated
  input, this poses a small risk of fetching past the end of memory
  and incurring SIGSEGV.  No such crash has been identified in the
  field, but we've certainly seen the equivalent happen in other code
  paths, so patch this one all the way back.  Report and patch by Noah

- Improve comment about handling of temp tables in shared-inval code.

- Fix get_name_for_var_field() to deal with RECORD Params.  With 9.1's
  use of Params to pass down values from NestLoop join nodes to their
  inner plans, it is possible for a Param to have type RECORD, in
  which case the set of fields comprising the value isn't determinable
  by inspection of the Param alone.  However, just as with a Var of
  type RECORD, we can find out what we need to know if we can locate
  the expression that the Param represents.  We already knew how to do
  this in get_parameter(), but I'd overlooked the need to be able to
  cope in get_name_for_var_field(), which led to EXPLAIN failing with
  "record type has not been registered".  To fix, refactor the search
  code in get_parameter() so it can be used by both functions.  Per
  report from Marti Raudsepp.

- Fix typo in error message.  Per Euler Taveira de Oliveira.

- Fix corner case bug in numeric to_char().  Trailing-zero stripping
  applied by the Fujii Masao specifier could strip zeroes to the left
  of the decimal point, for a format with no digit positions after the
  decimal point (such as "FM999.").  Reported and diagnosed by Marti
  Raudsepp, though I didn't use his patch.

- One last round of copy-editing for the 9.1 release notes.  Also set
  the documented release date to 2011-09-12.

- round() is not portable.  Use rint().

- Stamp 9.1.0.

- Move Timestamp/Interval typedefs and basic macros into
  datatype/timestamp.h.  As per my recent proposal, this refactors
  things so that these typedefs and macros are available in a header
  that can be included in frontend-ish code.  I also changed various
  headers that were undesirably including utils/timestamp.h to include
  datatype/timestamp.h instead.  Unsurprisingly, this showed that half
  the system was getting utils/timestamp.h by way of xlog.h.  No
  actual code changes here, just header refactoring.

- Simplify handling of the timezone GUC by making initdb choose the
  default.  We were doing some amazingly complicated things in order
  to avoid running the very expensive identify_system_timezone()
  procedure during GUC initialization.  But there is an obvious fix
  for that, which is to do it once during initdb and have initdb
  install the system-specific default into postgresql.conf, as it
  already does for most other GUC variables that need
  system-environment-dependent defaults.  This means that the timezone
  (and log_timezone) settings no longer have any magic behavior in the
  server.  Per discussion.

- Try to un-break MSVC build.  I thought we had enough infrastructure
  to absorb CPPFLAGS changes from the makefiles, but buildfarm says

- Fix permissions on pg_largeobject_metadata.h in 9.0 branch.  For
  some reason it was 0755 instead of 0644.

- Remove no-longer-used variable.

- Invent a new memory context primitive, MemoryContextSetParent.  This
  function will be useful for altering the lifespan of a context after
  creation (for example, by creating it under a transient context and
  later reparenting it to belong to a long-lived context).  It costs
  almost no new code, since we can refactor what was there.  Per my
  proposal of yesterday.

Peter Eisentraut pushed:

- Improve "invalid byte sequence for encoding" message.  It used to
  ERROR:  invalid byte sequence for encoding "UTF8": 0xdb24
  Change this to
  ERROR:  invalid byte sequence for encoding "UTF8": 0xdb 0x24
  to make it clear that this is a byte sequence and not a code point.
  Also fix the adjacent "character has no equivalent" message that has
  the same issue.

- Correct ancient logic mistake in assertion.  Found by gcc

- Add missing format argument to ecpg_log() call

- Add missing format attributes.  Add __attribute__ decorations for
  printf format checking to the places that were missing them.  Fix
  the resulting warnings.  Add -Wmissing-format-attribute to the
  standard set of warnings for GCC, so these don't happen again.  The
  warning fixes here are relatively harmless.  The one serious problem
  discovered by this was already committed earlier in

- Fix additional format warning.  Apparently, this only happens on
  64-bit platforms.

- Remove many -Wcast-qual warnings.  This addresses only those cases
  that are easy to fix by adding or moving a const qualifier or
  removing an unnecessary cast.  There are many more complicated cases

Alvaro Herrera pushed:

- Mark some untranslatable messages with errmsg_internal.

- Adjust translator comment format to xgettext expectations

- Tweak string for uniformity

Simon Riggs pushed:

- Emit cascaded standby message on shutdown only when appropriate.
  Adds additional test for active walsenders and closes a race
  condition for when we failover when a new walsender was connecting.
  Reported and fixed bu Fujii Masao. Review by Heikki Linnakangas

- Partially revoke attempt to improve performance with many
  savepoints.  Maintain difference between subtransaction release and
  commit introduced by earlier patch.

- PublishStartupProcessInformation() to avoid rare hang in recovery.
  Bgwriter could cause hang in recovery during page concurrent
  cleaning.  Bug report and testing by Bernd Helmle, fix by me

Heikki Linnakangas pushed:

- Buffering GiST index build algorithm.  When building a GiST index
  that doesn't fit in cache, buffers are attached to some internal
  nodes in the index. This speeds up the build by avoiding random I/O
  that would otherwise be needed to traverse all the way down the tree
  to the find right leaf page for tuple.  Alexander Korotkov

- Fix typo and reword the sentence.

ITAGAKI Takahiro pushed:

- Add datatype directory to SUBDIRS.  New header datatype/timestamp.h
  should be installed for server-side dev.

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Heikki Linnakangas and Alexander Korotkov traded new versions of the
patch to build GiST indexes quickly.

Oleg Bartunov sent in three more revisions of the patch to implement
space-partitioned GiST indexes.

Marti Raudsepp sent in another revision of the patch to generate more
useful column names for subquery expressions.

Marti Raudsepp sent in a patch which adds the backend's current
running query to the "backend crash" message.

Shigeru HANADA sent in two more revisions of a patch to add a "force
not null" option to the file FDW.

Pavan Deolasee sent in another revision of the patch to a single-pass

Fujii Masao sent in two revisions of a patch to add a

Marko (johto) Tiikkaja sent in a patch to add an nfiltered annotation

George Barnett sent in a patch intended to improve the way PostgreSQL
runs with NFS data directory on Linux.

Tom Lane sent in a WIP patch to bring ECPG in line with the rest of
the code, which as of this week has a separate header for the core
timestamp definitions and macros.

Fujii Masao sent in a patch to unite recovery.conf with postgres.conf.

Fujii Masao sent in two revisions of a patch to add a replication
option to the createuser utility.

Alexey Klyukin sent in another revision of the patch to allow the pg
config parser to continue on error.

Marti Raudsepp sent in a patch to cache constant stable expressions
per execution.

Josh Kupershmidt sent in another revision of the patch to allow \dd to
show constraint names.

Jun Ishiduka sent in another revision of the patch to make it possible
to take an on-line base backup from a hot standby.

Andrew Dunstan sent in a patch intended to fix the issue where the
databse super-user is presumed to be a member of every role.

Alexander Korotkov sent in another revision of the patch implementing
a double-sorting picksplit implementation for GiST indexes.

KaiGai Kohei sent in another flock of patches reworking DROP into a
single unified framework.

---------------------------(end of broadcast)---------------------------
-To unsubscribe from this list, send an email to:

               [email protected]
CD: 4ms