== PostgreSQL Weekly News - September 18 2011 == - Mailing list pgsql-announce
From | David Fetter |
---|---|
Subject | == PostgreSQL Weekly News - September 18 2011 == |
Date | |
Msg-id | 20110919055346.GJ25372@fetter.org Whole thread Raw |
List | pgsql-announce |
== PostgreSQL Weekly News - September 18 2011 == PostgreSQL 9.1.0 released! More cutting-edge features, more performance...what's not to like? http://www.postgresql.org/docs/current/static/release-9-1.html The next Commitfest of the 9.2 cycle started September 15, 2011. http://commitfest.postgresql.org/ Round Robin Reviewers needed! http://wiki.postgresql.org/wiki/RRReviewers == PostgreSQL Product News == pgfincore, 1.1, a set of functions to handle low-level management of relations using mincore to explore cache memory, released. http://villemain.org/projects/pgfincore PL/Java 1.4.3 has been released. http://pgfoundry.org/projects/pljava/ Veil 9.1.0, a fine-grained access control system for PostgreSQL, released. http://veil.projects.postgresql.org/curdocs/index.html == PostgreSQL Jobs for September == http://archives.postgresql.org/pgsql-jobs/2011-09/threads.php == PostgreSQL Local == PostgreSQL Conference West (#PgWest) will be held September 27th-30th, 2011 at the San Jose Convention center in San Jose, California, USA. http://www.postgresqlconference.org PostgreSQL Conference Europe 2011 will be held on October 18-21 in Amsterdam. http://2011.pgconf.eu/ PG-Day Denver 2011 will be held on Friday, October 21st, 2011 at the Auraria Campus near downtown Denver, Colorado. http://pgday.consistentstate.com/ pgbr will be in Sao Paulo, Brazil November 3-4, 2011. http://pgbr.postgresql.org.br/ 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. http://2011.pgconf.de/ The fifth edition of the Italian PostgreSQL Day (PGDay.IT 2011) will be held on November 25, 2011 in Prato, Italy. http://2011.pgday.it/ 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: http://www.flossuk.org/Events/Spring2012 == 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 david@fetter.org, German language to pwn@pgug.de, Italian language to pwn@itpug.org. Spanish language to pwn@arpug.com.ar. == 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. http://git.postgresql.org/pg/commitdiff/8caf6132c7498b2b9400a5496a29e48c1c0aa516 - In the manual section on primary_conninfo, recommend using a role with REPLICATION privileges, not SUPERUSER. Fujii Masao http://git.postgresql.org/pg/commitdiff/76df369c060695edaed5b9502f85e7a3e07f8b1f - 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. http://git.postgresql.org/pg/commitdiff/09e98a3e170ecdeb25a0e1afe81bdbeeeaf21f48 Tom Lane pushed: - Propagate with_system_tzdata setting into initdb build. findtimezone.c needs to know this setting too. Per Peter Eisentraut. http://git.postgresql.org/pg/commitdiff/3f3304408cb103745ee0722d303c526594a8046c - 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. http://git.postgresql.org/pg/commitdiff/6693c9a5ed3ac9c07160039742dde8aa67e96ecf - 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. http://git.postgresql.org/pg/commitdiff/e6faf910d75027bdce7cd0f2033db4e912592bcc - 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. http://git.postgresql.org/pg/commitdiff/0a6cc28500b7a8db7a27cbd0d75e18837fb2e367 - 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. http://git.postgresql.org/pg/commitdiff/e6ed34f70d57d102da8383919e0046c577d317e7 - 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. http://git.postgresql.org/pg/commitdiff/9d306c66e63eb7f45eab9475b3f96c3134bacac6 - 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 http://git.postgresql.org/pg/commitdiff/86a3f2d492f19da1f4be8ba099747ac5c83c43bb - 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 thereafter. http://git.postgresql.org/pg/commitdiff/99b5454167aab89b94f171e4318ef12443c6cfc4 - 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. http://git.postgresql.org/pg/commitdiff/c4ae968633b37e3b0a5da83e9d7d2a5518191564 - 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 testing. http://git.postgresql.org/pg/commitdiff/faf5cee7f0189beba206a5d96c0abd8e4382b844 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. http://git.postgresql.org/pg/commitdiff/86822df9b5d5fe16d2528c7fc9428137414faa4f == 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 views. 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 statistics. 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 pg_last_xact_insert_timestamp. 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 Perls. 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 pg_upgrade. Marti Raudsepp sent in another revision of the patch to generate column names for subquery expressions.
pgsql-announce by date: