Skip site navigation (1) Skip section navigation (2)

== PostgreSQL Weekly News - September 18 2011 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - September 18 2011 ==
Date: 2011-09-19 05:53:46
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-announce
== PostgreSQL Weekly News - September 18 2011 ==

PostgreSQL 9.1.0 released!  More cutting-edge features, more
performance...what's not to like?

The next Commitfest of the 9.2 cycle started September 15, 2011.

Round Robin Reviewers needed!

== PostgreSQL Product News ==

pgfincore, 1.1, a set of functions to handle low-level management of
relations using mincore to explore cache memory, released.

PL/Java 1.4.3 has been released.

Veil 9.1.0, a fine-grained access control system for PostgreSQL, released.

== PostgreSQL Jobs for September ==

== PostgreSQL Local ==

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.

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:

== PostgreSQL in the News ==

Planet PostgreSQL:

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 david(at)fetter(dot)org, German language
to pwn(at)pgug(dot)de, Italian language to pwn(at)itpug(dot)org(dot)  Spanish language
to pwn(at)arpug(dot)com(dot)ar(dot)

== Reviews ==

== Applied Patches ==

Heikki Linnakangas pushed:

- In the final emptying phase of the new GiST buffering build, set the
  queuedForEmptying flag correctly on buffer when adding it to the
  queue.  Also, don't add buffer to the queue if it's there already.
  These were harmless oversights; failing to set the flag just means
  that a buffer might get added to the queue twice if more tuples are
  added to it (although that can't actually happen at this point
  because all the upper buffers have already been emptied), and having
  the same buffer twice in the emptying queue is harmless. But better
  be tidy.

- In the manual section on primary_conninfo, recommend using a role
  with REPLICATION privileges, not SUPERUSER.  Fujii Masao

- Teach the makefile used to build stand-alone libpq on Windows that
  libpq needs win32setlocale.c now.  The cygwin and MSVC build scripts
  were changed earlier, but this was neglected.  This should fix bug
  report #6203 by Steve.

Tom Lane pushed:

- Propagate with_system_tzdata setting into initdb build.
  findtimezone.c needs to know this setting too.  Per Peter

- deflist_to_tuplestore dumped core on an option with no value.  Make
  it return NULL for the option_value, instead.  Per report from Frank
  van Vugt.  Back-patch to 8.4 where this code was added.

- Redesign the plancache mechanism for more flexibility and
  efficiency.  Rewrite plancache.c so that a "cached plan" (which is
  rather a misnomer at this point) can support generation of custom,
  parameter-value-dependent plans, and can make an intelligent choice
  between using custom plans and the traditional generic-plan
  approach.  The specific choice algorithm implemented here can
  probably be improved in future, but this commit is all about getting
  the mechanism in place, not the policy.  In addition, restructure
  the API to greatly reduce the amount of extraneous data copying
  needed.  The main compromise needed to make that possible was to
  split the initial creation of a CachedPlanSource into two steps.
  It's worth noting in particular that SPI_saveplan is now deprecated
  in favor of SPI_keepplan, which accomplishes the same end result
  with zero data copying, and no need to then spend even more cycles
  throwing away the original SPIPlan.  The risk of long-term memory
  leaks while manipulating SPIPlans has also been greatly reduced.
  Most of this improvement is based on use of the recently-added
  MemoryContextSetParent primitive.

- gistendscan() forgot to free so->giststate.  This oversight led to a
  massive memory leak --- upwards of 10KB per tuple --- during
  creation-time verification of an exclusion constraint based on a
  GIST index.  In most other scenarios it'd just be a leak of 10KB
  that would be recovered at end of query, so not too significant;
  though perhaps the leak would be noticeable in a situation where a
  GIST index was being used in a nestloop inner indexscan.  In any
  case, it's a real leak of long standing, so patch all supported
  branches.  Per report from Harald Fuchs.

- Ensure generic plan gets used for a plpgsql expression with no
  parameters.  Now that a NULL ParamListInfo pointer causes
  significantly different behavior in plancache.c, be sure to pass it
  that way when the expression is known not to reference any plpgsql
  variables.  Saves a few setup cycles anyway.

- Avoid unnecessary page-level SSI lock check in heap_insert().  As
  observed by Heikki, we need not conflict on heap page locks during
  an insert; heap page locks are only aggregated tuple locks, they
  don't imply locking "gaps" as index page locks do.  So we can avoid
  some unnecessary conflicts, and also do the SSI check while not
  holding exclusive lock on the target buffer.  Kevin Grittner,
  reviewed by Jeff Davis.  Back-patch to 9.1.

- Add FORCE_NOT_NULL support to the file_fdw foreign data wrapper.
  This is implemented as a per-column boolean option, rather than
  trying to match COPY's convention of a single option listing the
  column names.  Shigeru Hanada, reviewed by KaiGai Kohei

- Remove debug logging for pgstat wait timeout.  This reverts commit
  79b2ee20c8a041a85dd230c4e787bef22edae57b, which proved to not be
  very informative; it looks like the "pgstat wait timeout" warnings
  in the buildfarm are just a symptom of running on heavily loaded
  machines, and there isn't any weird mechanism causing them to
  appear.  To try to reduce the frequency of buildfarm failures from
  this effect, increase PGSTAT_MAX_WAIT_TIME from 5 seconds to 10.
  Also, arrange to not send a fresh inquiry message every single time
  through the loop, as that seems more likely to cause problems (by
  swamping the collector) than fix them.  We'll now send an inquiry
  the first time through the delay loop, and every 640 msec

- Fix Assert failure in new plancache code.  The regression tests were
  failing with CLOBBER_CACHE_ALWAYS enabled, as reported by buildfarm
  member jaguar.  There was an Assert in BuildCachedPlan that asserted
  that the CachedPlanSource hadn't been invalidated since we called
  RevalidateCachedQuery, which in theory can't happen because we are
  holding locks on all the relevant database objects.  However,
  CLOBBER_CACHE_ALWAYS generates a false positive by making an
  invalidation happen anyway; and on reflection, that could also occur
  as a result of a badly-timed sinval reset due to queue overflow.  We
  could just remove the Assert and forge ahead with the
  not-really-stale querytree, but it seems safer to do another
  RevalidateCachedQuery call just to make real sure everything's OK.

- Fix another Assert issue exposed by CLOBBER_CACHE_ALWAYS.  plpgsql's
  exec_stmt_execsql was Assert'ing that a CachedPlanSource was
  is_valid immediately after exec_prepare_plan.  The risk factor in
  this case is that after building the prepared statement,
  exec_prepare_plan calls exec_simple_check_plan, which might try to
  generate a generic plan --- and with CLOBBER_CACHE_ALWAYS or other
  unusual causes of invalidation, that could result in an
  invalidation.  However, that path could only be taken for a SELECT
  query, for which we need not set mod_stmt.  So in this case I think
  it's best to just remove the Assert; it's okay to look at a
  slightly-stale querytree for what we need here.  Per buildfarm

Alvaro Herrera pushed:

- Split walsender.h in public/private headers.  This dramatically cuts
  short the number of headers the public one brings into whatever
  includes it.

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Jun Ishiduka sent in another revision of the patch to allow taking a
base backup from a hot standby.

KaiGai Kohei sent in another revision of the patches to fix leaky

Alvaro Herrera sent in a patch splitting walsender into public and
private components.

Marko (johto) Tiikkaja sent in another revision of the patch to add
nfiltered to EXPLAIN output.

KaiGai Kohei sent in a patch which enables the control/sepgsql to
assign security label to pg_database objects which are then used as a
basis to compute a default security label of schema objects.

Etsuro Fujita sent in a WIP patch to allow collecting statistics on
CSV files attached via FDW.

Kyotaro HORIGUCHI sent in a patch to create an encoding-specific
character incrementer.

Joachim Wieland sent in another revision of the patch to enable and
export synchronized snapshots.

Jeff Davis sent in another revision of the patch to add range types.

Hans-Juergen Schoenig sent in another WIP patch to allow cross-column

Heikki Linnakangas sent in a patch to allow inserting heap tuples in
bulk during COPY.

Shigeru HANADA sent in a patch to allow pushing JOINs to foreign
tables when using FDWs.

Robert Haas sent in another revision of the patch to put up some
memory barriers for the case of machines with weak memory ordering.

Fujii Masao sent in another revision of the patch to add a

Fujii Masao sent in another revision of the patch to unite
recovery.conf and postgresql.conf

Yeb Havinga sent in another revision of the patch to enable calling a
scroll cursor with named parameters.

Andrew Dunstan sent in a patch to create a \setenv utility in psql.

David Wheeler sent in two revisions of a patch to use xsubpp in modern

Simon Riggs sent in a patch to separate the bgwriter and the
checkpointer into separate components.

Alexander Korotkov sent in another revision of the double sorting
split patch.

Marti Raudsepp sent in another revision of the patch to cache
stable expressions with constant arguments.

Peter Eisentraut sent in another revision of the patch to test

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

pgsql-announce by date

Next:From: Pavel GolubDate: 2011-09-20 10:02:39
Subject: MicrOLAP Database Designer with PostgreSQL 9.1 support is out!
Previous:From: Tim ClarkeDate: 2011-09-16 18:14:46
Subject: Re: PL/Java 1.4.3 Released

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group