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

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

am 12.09.2011 21:34:56 von adsmail

Der Originalartikel befindet sich unter:


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

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:

Neue Umfrage: Wann planen Sie ein Upgrade auf 9.1?

NYCPUG präsentiert "PostgreSQL 9.1 Overview" mit Bruce
Momjian um 18:30 am 22. September 2011 im Yodle. Anmeldung
und Details unter:

== PostgreSQL Produkt Neuigkeiten ==

pgpool-II 3.1.0, ein Connection Pooler und mehr,
ist erschienen.

xlogdump 0.4.0, ein Werkzeug um Daten aus WAL Segmentdateien zu
extrahieren, ist erschienen.

== PostgreSQL Jobs im September ==

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

== PostgreSQL Lokal ==

Postgres Open 2011, eine Konferenz die sich auf den Umbruch der
Datenbankindustrie durch PostgreSQL konzentriert, wird vom 14. bis 16.
September 2011 in Chicago, Illinois im Westin Michigan Avenue
Hotel stattfinden.

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.

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

Bruce Momjian pushed:

- Document that contrib/pgtrgm only processes ASCII alphanumeric
characters. Backpatch to 9.0 and 9.1.
http://git.postgresql.org/pg/commitdiff/d235f828d74daaabdeb9 7efa4499cfb30ee=

- Add mention that UTC really means UT1. Backpatch to 9.1.
http://git.postgresql.org/pg/commitdiff/7cb99b269667ef3d8869 bc9f7681debc12c=

- Add C comment about why we send cache invalidation messages for
session-local objects.
http://git.postgresql.org/pg/commitdiff/f458c90bff45ecae91fb 55ef2b938af37d9=

- Add documentation link to strftime supported options.
http://git.postgresql.org/pg/commitdiff/5c8676ea71754b5ebd4a 5e4ad3ffb173ef6=

- Properly document semphore requirements by accounting for worker
processes. Backpatch to 9.1 and 9.0. Submitted by Anton
Yuzhaninov, confirmed by Robert Haas
http://git.postgresql.org/pg/commitdiff/d764835bbc705f38311b 5a6fe14a9aff4fe=

- Document PERFORM limitation when using WITH queries. Backpatch to
9.0 and 9.1. Report from Dmitry Epstein.
http://git.postgresql.org/pg/commitdiff/6f94280dee9f8b6c511f 00a50531b981faa=

- Fix plpgsql "PERFORM" markup. Backpatch to 9.0 and 9.1.
http://git.postgresql.org/pg/commitdiff/ba3de10c4ea3c70d4e36 181e563a4ebffaf=

- Add documentation suggestion about adding a comment to the top of
pgpass. Backpatch to 9.1.
http://git.postgresql.org/pg/commitdiff/a25fc9edcb6b1ed589d9 767b4b8c1cdae21=

- Fix spelling mistake in pgpass documentation change. Per Peter
http://git.postgresql.org/pg/commitdiff/d858abfdfdcfb11c5eff 08c8368c27a3f66=

- 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
http://git.postgresql.org/pg/commitdiff/39039e6d7a48d37aedcf ca7973cea3288ce=

- Revert documentation patch about NEW/OLD and triggers. Backpatch to
9.0 and 9.1. Patch from Josh Kupershmidt.
http://git.postgresql.org/pg/commitdiff/8eacb25cbe9100b9cf44 1d4cbca4cec8fa5=

- 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.
http://git.postgresql.org/pg/commitdiff/029dfdf1157b6d837a7b 7211cd35b00c6bc=

- Fix bug introduced by pgrminclude where the tablespace version name
was not expanded. Bump catalog version number to force initdb for
all tablespaces.
http://git.postgresql.org/pg/commitdiff/f81fb4f690355bc88fee 69624103956fb45=

- Have pgrminclude skip files that use CppAsString2 because
CppAsString2 will expaned undefined identifiers.
http://git.postgresql.org/pg/commitdiff/f19593754a1b9293b098 975fc43263125a4=

- 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.
http://git.postgresql.org/pg/commitdiff/3ced32d24e14af187717 1c085a635b4ccdf=

- Allow bcc32 and win32 batch files to compile libpq. Backpatch to
9.1. By Hiroshi Saito
http://git.postgresql.org/pg/commitdiff/7b8e10f2bed1d450a9f9 b211ae1b8832274=

- Remove unnecessary MATCH FULL specification in example. Reported by
Grzegorz Szpetkowski.
http://git.postgresql.org/pg/commitdiff/c79003ea4f2c40ac9574 57dbae24928ba25=

- Document that only user-defined columns are expanded by SELECT *.
http://git.postgresql.org/pg/commitdiff/90108c9aab51840a0fa7 bcb11a2da09204d=

- 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.
http://git.postgresql.org/pg/commitdiff/d68ccf536e950a07b5a7 030bf609936fe65=

Tom Lane pushed:

- Update time zone data files to tzdata release 2011i. DST law
changes in Canada, Egypt, Russia, Samoa, South Sudan.
http://git.postgresql.org/pg/commitdiff/0b88af150e3a26f9e41d a89da0c507eac55=

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

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

- 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.
http://git.postgresql.org/pg/commitdiff/780a342c900fa085e8c0 65b3282b491de69=

- 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
http://git.postgresql.org/pg/commitdiff/623f77e9d13387205124 30a0b8e824d7359=

- Improve comment about handling of temp tables in shared-inval code.
http://git.postgresql.org/pg/commitdiff/db10f01baa2148f1773c acfcbadc7158ae9=

- 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.
http://git.postgresql.org/pg/commitdiff/a7d9203cc4edfbcc2837 32efea6d54db039=

- Fix typo in error message. Per Euler Taveira de Oliveira.
http://git.postgresql.org/pg/commitdiff/99155aaa33f417daabd3 8c8b225c09a3c6d=

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

- One last round of copy-editing for the 9.1 release notes. Also set
the documented release date to 2011-09-12.
http://git.postgresql.org/pg/commitdiff/09b68c70af855a0a69ce de14da70968ddd9=

- round() is not portable. Use rint().
http://git.postgresql.org/pg/commitdiff/d63de337f3e235f02d79 a1df79dddbb002e=

- Stamp 9.1.0.
http://git.postgresql.org/pg/commitdiff/1f43001424a9da624a89 b213d0be606a821=

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

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

- Try to un-break MSVC build. I thought we had enough infrastructure
to absorb CPPFLAGS changes from the makefiles, but buildfarm says
http://git.postgresql.org/pg/commitdiff/5a8de2f2e7fd5d2265f3 0206743ba2dd51b=

- Fix permissions on pg_largeobject_metadata.h in 9.0 branch. For
some reason it was 0755 instead of 0644.
http://git.postgresql.org/pg/commitdiff/4de174d4bfa8e162cf64 fb9bf7393fea05b=

- Remove no-longer-used variable.
http://git.postgresql.org/pg/commitdiff/5f42e5945b3dd96c2285 31c0730f418846c=

- 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.
http://git.postgresql.org/pg/commitdiff/b0025bd95703aaedc4ff 23ddcfbde9597fa=

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.
http://git.postgresql.org/pg/commitdiff/a2a5ce68266d879c7acd 292952adc376966=

- Correct ancient logic mistake in assertion. Found by gcc
http://git.postgresql.org/pg/commitdiff/e6d800981ed0cd888966 0d40cb5e813dfad=

- Add missing format argument to ecpg_log() call
http://git.postgresql.org/pg/commitdiff/cf15fb5cabfbc71e07be 23cfbc813daee6c=

- 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
http://git.postgresql.org/pg/commitdiff/52ce20589a8bac4eccae a043b1fe283daaf=

- Fix additional format warning. Apparently, this only happens on
64-bit platforms.
http://git.postgresql.org/pg/commitdiff/02bca4f35164dd1873ea b9b8e6167e42a79=

- 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
http://git.postgresql.org/pg/commitdiff/1b81c2fe6ee2b26d3761 0c3d381a87fa17a=

Alvaro Herrera pushed:

- Mark some untranslatable messages with errmsg_internal.
http://git.postgresql.org/pg/commitdiff/b64f18c583675684766e 364754bd3c9f702=

- Adjust translator comment format to xgettext expectations
http://git.postgresql.org/pg/commitdiff/56a9ed92b664af191040 d848ca923fb3234=

- Tweak string for uniformity
http://git.postgresql.org/pg/commitdiff/295e7dc929c346d53e0b 55aaed539b0b0d5=

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
http://git.postgresql.org/pg/commitdiff/dde70cc313683e47e719 97759c6029b4220=

- Partially revoke attempt to improve performance with many
savepoints. Maintain difference between subtransaction release and
commit introduced by earlier patch.
http://git.postgresql.org/pg/commitdiff/df383b03e6f761c9b5bb 12aa2339795ab44=

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

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
http://git.postgresql.org/pg/commitdiff/5edb24a8983e4a103e26 153853d91141f81=

- Fix typo and reword the sentence.
http://git.postgresql.org/pg/commitdiff/86ab71d58d4ee7e183e5 01db75714ad59fe=

ITAGAKI Takahiro pushed:

- Add datatype directory to SUBDIRS. New header datatype/timestamp.h
should be installed for server-side dev.
http://git.postgresql.org/pg/commitdiff/96a8aed4cb66b9a23e5b 566ad549cd0c5ea=

== Abgelehnte Patches (bis jetzt) ==

No one was disappointed this week :-)

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

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: