== Wöchentlicher PostgreSQL Newsletter - 18. September 2011 ==

== Wöchentlicher PostgreSQL Newsletter - 18. September 2011 ==

am 22.09.2011 00:02:34 von adsmail

Der Originalartikel befindet sich unter:


== Wöchentlicher PostgreSQL Newsletter - 18. September 2011 ==

PostgreSQL 9.1.0 erschienen! Mehr cutting-edge Features, mehr
Performance, wie kann man das nicht mögen?
http://www.postgresql.org/docs/current/static/release-9-1.ht ml

Das nächste Commitfest für 9.2 startete am 15. September 2011.

Round Robin Reviewers benötigt!

== PostgreSQL Produkt Neuigkeiten ==

pgfincore 1.1, ein Set von Funktionen um das Low-Level Management von
Relationen, unter Zuhilfenahme von mincore, zu handhaben und um
den Cache Memory zu erforschen, ist erschienen.

PL/Java 1.4.3 ist erschienen.

Veil 9.1.0, ein feingranulares Access Control System für
PostgreSQL, ist erschienen.

== PostgreSQL Jobs im September ==

http://archives.postgresql.org/pgsql-jobs/2011-09/threads.ph p

== PostgreSQL Lokal ==

PostgreSQL Conference West (#PgWest) findet vom 27. bis 30. September
2011 im San Jose Convention Center in Jan Jose, Kalifornen, USA statt.

PostgreSQL Conference Europe 2011 findet vom 18. bis
21. Oktober in Amsterdam statt.

PG-Day Denver 2011 findet am Freitag, dem 21. Oktober 2011 auf dem
Auraria Campus in der Nähe von Downtown Denver, Colorado statt.

pgbr findet in Sao Paulo, Brazilien, am 3. und 4. November 2011 statt.

PGConf.DE 2011 ist die Deutschsprachige PostgreSQL Konferenz
und wird am 11. November 2011 im Rheinischen Industriemuseum
in Oberhausen, Deutschland, stattfinden. Der Call for Papers ist offen.

Die fünfte Edition des Italienischen PostgreSQL
Tags (PGDay.IT 2011) findet am 25. November in
Prato, Italien statt.

Der Call for Papers für die FLOSS UK ist offen, die Veranstaltung
findet in Edinburgh vom 20. bis 22. März 2012 statt. Der
Einsendeschluß für Einreichungen ist der 18. November 2011,
ausgewählte Sprecher werden bis zum 25. November benachrichtigt.
Einreichungen sollen an postgresql2012 AT flossuk DOT org gehen.
Mehr Informationen:

== PostgreSQL in den News ==

Planet PostgreSQL: http://planet.postgresql.org/

Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David Fet=

Sende Neuigkeiten und Ankündigungen bis Sonntag, 15 Uhr Pazifischer
Zeit. Bitte sende englische Beiträge an david@fetter.org, deutsche an
pwn@pgug.de, italienische an pwn@itpug.org, spanische an pwn@arpug.com.ar.

== Reviews ==

== Angewandte 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/8caf6132c7498b2b9400 a5496a29e48c1c0=

- In the manual section on primary_conninfo, recommend using a role
with REPLICATION privileges, not SUPERUSER. Fujii Masao
http://git.postgresql.org/pg/commitdiff/76df369c060695edaed5 b9502f85e7a3e07=

- 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/09e98a3e170ecdeb25a0 e1afe81bdbeeeaf=

Tom Lane pushed:

- Propagate with_system_tzdata setting into initdb build.
findtimezone.c needs to know this setting too. Per Peter
http://git.postgresql.org/pg/commitdiff/3f3304408cb103745ee0 722d303c526594a=

- 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/6693c9a5ed3ac9c07160 039742dde8aa67e=

- 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/e6faf910d75027bdce7c d0f2033db4e9125=

- 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/0a6cc28500b7a8db7a27 cbd0d75e18837fb=

- 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/e6ed34f70d57d102da83 83919e0046c577d=

- 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/9d306c66e63eb7f45eab 9475b3f96c3134b=

- 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/86a3f2d492f19da1f4be 8ba099747ac5c83=

- 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
http://git.postgresql.org/pg/commitdiff/99b5454167aab89b94f1 71e4318ef12443c=

- 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/c4ae968633b37e3b0a5d a83e9d7d2a55181=

- 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
http://git.postgresql.org/pg/commitdiff/faf5cee7f0189beba206 a5d96c0abd8e438=

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/86822df9b5d5fe16d252 8c7fc9428137414=

== Abgelehnte Patches (bis jetzt) ==

No one was disappointed this week :-)

== Eingesandte 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.

Andreas 'ads' Scherbaum
Deutsche PostgreSQL User Group: http://www.pgug.de/
DPWN: http://andreas.scherbaum.la/blog/categories/18-PWN

Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription: