== Wöchentlicher PostgreSQL Newsletter - 14. November 2010 ==

== Wöchentlicher PostgreSQL Newsletter - 14. November 2010 ==

am 15.11.2010 20:22:54 von adsmail

Der Originalartikel befindet sich unter:

http://www.postgresql.org/community/weeklynews/pwn20101114



== Wöchentlicher PostgreSQL Newsletter - 14. November 2010 ==

Das Commitfest vom 15. November bis zum 15. Dezember hat
begonnen. Beginne jetzt mit dem Review der Patches!
https://commitfest.postgresql.org/action/commitfest_view?id= 3D8

Du denkst, das Review eines Patches ist kompliziert? Denk noch
mal nach! Du kannst helfen!
http://wiki.postgresql.org/wiki/Reviewing_a_Patch

Der Call für Projekte des PostgreSQLFr hat begonnen. Projekte müs=
sen
sich um PostgreSQL drehen und die französisch-sprechende Community
betreffen. Maile Projektvorschläge an appel-projets-2010
AT postgresql DOT fr.

HTSQL, eine High-Level Anfragesprache für relationale Datenbanken,
mit Support für PostgreSQL, ist erschienen.
http://htsql.org/

Neue Umfrage: Welche PostgreSQL Veranstaltungen wirst du wahrscheinlich
in den nächsten 6 Monaten besuchen?
http://www.postgresql.org/community/

Robert Treat sucht PostgreSQL User und solche die es werden wollen
im Gebiet von New Orleans. Kontaktiere ihn unter rob AT xzilla DOT net.

PGCon will be May 19-20, 2011 at the University of Ottawa, preceded by
two days of tutorials on May 17-18.
http://www.pgcon.org/2011/

Frühbucherregistrierung für PGDay.IT am 10. Dezember 2010 in Rom,
Italien, ist jetzt offen und das Programm ist online.
http://2010.pgday.it/

== PostgreSQL Produkt Neuigkeiten ==

Das Open-Source Dubsar Dictionary Projekt, welches PostgreSQL verwendet,
hat begonnen.
http://dubsar-dictionary.com/

psycopg2 2.3.0 Beta 1, ein Python Treiber für PostgreSQL, ist erschien=
en.
http://initd.org/psycopg/

PostgreSQL 9.0 RPMs für RHEL 6 und Fedora 14 sind erschienen.
http://people.planetpostgresql.org/devrim/index.php?/archive s/48-What-is-ne=
w-in-PostgreSQL-9.0-RPMs.html

Skytools 2.1.12, ein Python-basierendes Replikationssystem,
ist erschienen.
http://pgfoundry.org/projects/skytools/

Das Skytools Source Code Repository ist jetzt hier zu finden:
http://git.postgresql.org/gitweb?p=3Dskytools.git;a=3Dsummar y

== PostgreSQL Jobs im November ==

http://archives.postgresql.org/pgsql-jobs/2010-11/threads.ph p

== PostgreSQL Lokal ==

Die Deutsche PostgreSQL Anwendergruppe hat einen Stand auf der
OpenRheinRuhr 2010 am 13. und 14. November in Oberhausen,
Deutschland. Andreas Scherbaum hält einen Vortrag über neue
Features in PostgreSQL 9.0.
http://andreas.scherbaum.la/blog/archives/744-PostgreSQL-Ope nRheinRuhr-2010=
..html

Die Deutsche PostgreSQL Anwendergruppe ist mit einem Stand, einem
Vortrag und einem Workshop auf dem Brandenburger Linux-Infotag 2010
in Potsdam, Deutschland am 6. November 2010 präsent.
http://andreas.scherbaum.la/blog/archives/746-PostgreSQL-Bra ndenburger-Linu=
x-Infotag-2010.html

Registrierung für PGDay.EU 2010 vom 6. bis 8. Dezember in
Stuttgart, Deutschland ist jetzt offen.
http://2010.pgday.eu/register

Frühbucherregistrierung für PGDay.IT am 10. Dezember 2010 in Rom,
Italien ist jetzt offen und der Vortragsplan ist online.
http://2010.pgday.it/

FOSDEM ist eine der größten Freien und Open Source Veranstaltungen
und findet jährlich in Brüssel, Belgien statt, nächstes Jahr=
am
5. und 6. Februar 2011. Ungefähr 4.000 Besucher finden sich dort ein.
Sende deine Vorträge an fosdem AT postgresql DOT eu.
http://andreas.scherbaum.la/blog/archives/749-PostgreSQLFOSD EM-2011-Call-fo=
r-talks.html

PGDay findet dieses Jahr während der südkalifornischen Linux Auss=
tellung
(SCALE) im LAX Hilton Hotel in Los Angeles, Kalifornien am Freitag dem
25. Februar 2011 statt. Vorträge kannst du unter pgday-submissions AT
googlegroups DOT com einreichen.

== PostgreSQL in den News ==

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

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

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

Tom Lane pushed:

- Use appendrel planning logic for top-level UNION ALL structures.
Formerly, we could convert a UNION ALL structure inside a
subquery-in-FROM into an appendrel, as a side effect of pulling up
the subquery into its parent; but top-level UNION ALL always caused
use of plan_set_operations(). That didn't matter too much because
you got an Append-based plan either way. However, now that the
appendrel code can do things with MergeAppend, it's worthwhile to
hack up the top-level case so it also uses appendrels. This is a
bit of a stopgap; but going much further than this will require a
major rewrite of the planner's set-operations support, which I'm not
prepared to undertake now. For the moment let's grab the
low-hanging fruit.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D947d=
0c862c895618a874344322e7b07c9df05cb2

- Fix error handling in temp-file deletion with log_temp_files active.
The original coding in FileClose() reset the file-is-temp flag
before unlinking the file, so that if control came back through due
to an error, it wouldn't try to unlink the file twice. This was
correct when written, but when the log_temp_files feature was added,
the logging action was put in between those two steps. An error
occurring during the logging action --- such as a query cancel ---
would result in the unlink not getting done at all, as in recent
report from Michael Glaesemann. To fix this, make sure that we do
both the stat and the unlink before doing anything that could
conceivably CHECK_FOR_INTERRUPTS. There is a judgment call here,
which is which log message to emit first: if you can see only one,
which should it be? I chose to log unlink failure at the risk of
losing the log_temp_files log message --- after all, if the unlink
does fail, the temp file is still there for you to see. Back-patch
to all versions that have log_temp_files. The code was OK before
that.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D5442=
8dbe90cf11d17439acad9b8dcf375a14819d

- Repair memory leakage while ANALYZE-ing complex index expressions.
The general design of memory management in Postgres is that
intermediate results computed by an expression are not freed until
the end of the tuple cycle. For expression indexes, ANALYZE has to
re-evaluate each expression for each of its sample rows, and it
wasn't bothering to free intermediate results until the end of
processing of that index. This could lead to very substantial
leakage if the intermediate results were large, as in a recent
example from Jakub Ouhrabka. Fix by doing ResetExprContext for each
sample row. This necessitates adding a datumCopy step to ensure
that the final expression value isn't recycled too. Some quick
testing suggests that this change adds at worst about 10% to the
time needed to analyze a table with an expression index; which is
annoying, but seems a tolerable price to pay to avoid unexpected
out-of-memory problems. Back-patch to all supported branches.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D80fb=
2c1f4037d10cc259aee95558bca4a5fe4c30

- Improve pg_ctl's man page. Explicitly document that the -o options
of pg_ctl init mode are meant for initdb, not postgres (Euler
Taveira de Oliveira). Assorted other copy-editing (Tom).
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D0de9=
2fd13cc436c76fbbd4759c94e2d3623a6bf1

- Fix line_construct_pm() for the case of "infinite" (DBL_MAX) slope.
This code was just plain wrong: what you got was not a line through
the given point but a line almost indistinguishable from the Y-axis,
although not truly vertical. The only caller that tries to use this
function with m == DBL_MAX is dist_ps_internal for the case where
the lseg is horizontal; it would end up producing the distance from
the given point to the place where the lseg's line crosses the
Y-axis. That function is used by other operators too, so there are
several operators that could compute wrong distances from a line
segment to something else. Per bug #5745 from jindiax. Back-patch
to all supported branches.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Db0f2=
d681bdfd6a5b3e90d092f9d924f943b4fc5f

- Fix old oversight in const-simplification of COALESCE() expressions.
Once we have found a non-null constant argument, there is no need to
examine additional arguments of the COALESCE. The previous coding
got it right only if the constant was in the first argument
position; otherwise it tried to simplify following arguments too,
leading to unexpected behavior like this:
regression=3D# select coalesce(f1, 42, 1/0) from int4_tbl;
ERROR: division by zero
It's a minor corner case, but a bug is a bug, so back-patch all the
way.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Dd730=
4244e26b92d533f7e44f0afbcf1ff2f46286

- Add missing outfuncs.c support for struct InhRelation. This is
needed to support debug_print_parse, per report from Jon Nelson.
Cursory testing via the regression tests suggests we aren't missing
anything else.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D2138=
c701a397885d4f360c90bf8b95d0d98aecd0

- Work around make 3.80 bug with long expansions of $(eval). 3.80
breaks if the expansion of $(eval) is long enough to require
expansion of its internal variable_buffer. For the purposes of
$(recurse) that means it'll work so long as no single evaluation of
_create_recursive_target produces more than 195 bytes. We can
manage that by looping over subdirectories outside the call instead
of complicating the generated rule. This coding is simpler and more
readable anyway. Or at least, this works for me. We'll see if the
buildfarm likes it.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D1bd2=
01214965b3eba23bee2c4ce4c14accde170f

- Fix canAcceptConnections() bugs introduced by replication-related
patches. We must not return any "okay to proceed" result code
without having checked for too many children, else we might fail
later on when trying to add the new child to one of the per-child
state arrays. It's not clear whether this oversight explains Stefan
Kaltenbrunner's recent report, but it could certainly produce a
similar symptom. Back-patch to 8.4; the logic was not broken before
that.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D3892=
a2d8619ee5623fc3ebee775538fdea1f529e

- Adjust comments about what's needed to avoid make 3.80 bug. ...
based on further tracing through that code.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D357e=
dc9a9952582c510cff1b08ebc5fd8df81a3b

Alvaro Herrera pushed:

- Fix permanent memory leak in autovacuum launcher. get_database_list
was uselessly allocating its output data, along some created along
the way, in a permanent memory context. This didn't matter when
autovacuum was a single, short-lived process, but now that the
launcher is permanent, it shows up as a permanent leak. To fix,
make get_database list allocate its output data in the caller's
context, which is in charge of freeing it when appropriate; and the
memory leaked by heap_beginscan et al is allocated in a throwaway
transaction context.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D854a=
e8c3a6bab2053f8bdbc453787be878ce8c81

- plpython has plpy.Error instead of plpy.ERROR. Author: Marti
Raudsepp
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D73bc=
5218df0330a4beb737f497fa8d7b337c9f90

- Merge docs for CREATE CONSTRAINT TRIGGER and CREATE TRIGGER
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Db479=
53f9c69d48a9261bd643e3170017b93f6337

Heikki Linnakangas pushed:

- In rewriteheap.c (used by VACUUM FULL and CLUSTER), calculate the
tuple length stored in the line pointer the same way it's calculated
in the normal heap_insert() codepath. As noted by Jeff Davis, the
length stored by raw_heap_insert() included padding but the one
stored by the normal codepath did not. While the mismatch seems to
be harmless, inconsistency isn't good, and the normal codepath has
received a lot more testing over the years. Backpatch to 8.3 where
the heap rewrite code was introduced.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D000e=
fc3dfdf425136ef9564e86d1800cbe584e75

- Fix bug introduced by the recent patch to check that the checkpoint
redo location read from backup label file can be found: wasShutdown
was set incorrectly when a backup label file was found. Jeff Davis,
with a little tweaking by me.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D542b=
db2146327972545630d0a428e1c9367266cb

- Add missing support for removing foreign data wrapper / server
privileges belonging to a user at DROP OWNED BY. Foreign data
wrappers and servers don't do anything useful yet, which is why
no-one has noticed, but since we have them, seems prudent to fix
this. Per report from Chetan Suttraway. Backpatch to 9.0, 8.4 has
the same problem but this patch didn't apply there so I'm not going
to bother.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3De356=
743f3ed45c36dcc4d0dbf6c1e8751b3d70b5

ITAGAKI Takahiro pushed:

- Don't use __declspec (dllimport) for PGDLLEXPORT to reduce warnings
by gcc version 4 on mingw and cygwin. We don't use dllexport here
because dllexport and dllwrap don't work well together.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D844e=
d5dc97d4374a4056f0f1cc3b0b78347c74c5

Robert Haas pushed:

- Add monitoring function pg_last_xact_replay_timestamp. Fujii Masao,
with a little wordsmithing by me.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D7ba6=
e4f0e08bd7bdf4d12974ac1e37fb0459c97c

- Move copydir() prototype into its own header file. Having this in
src/include/port.h makes no sense, now that copydir.c lives in
src/backend/strorage rather than src/port. Along the way, remove an
obsolete comment from contrib/pg_upgrade that makes reference to the
old location.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D11e4=
82c350c431fb2f51c6ceb847e5e31ea38911

- Cleanup various comparisons with the constant "true". Itagaki
Takahiro, with slight modifications.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D5aa4=
46c961a6fdf15ff9c398751efd6ecff0c64a

- Fix bug in cube picksplit algorithm. Alexander Korotkov.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D4fa0=
a23c70cc346011a3dd8ea902f8d1668644b0

- Correct poor grammar in comment.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D5ccb=
c3d802d1690b78f887b2310d2a7258eaae94

Bruce Momjian pushed:

- Mention that pg_upgrade requires compatible 32/64-bit binaries.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D8f74=
2d1cdab987ba4624ad0c6aa008ced15cd87c

Peter Eisentraut pushed:

- Improved parallel make support Replace for loops in makefiles with
proper dependencies. Parallel make can now span across directories.
Also, make -k and make -q work properly. GNU make 3.80 or newer is
now required.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D19e2=
31bbdaef792dce22100012b504e2fb72f971

- docs -> documentation
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Dd675=
4f67b08ad6a05640fc5d9d97c6f225512ea0

Andrew Dunstan pushed:

- Attempt to fix MSVC builds broken by parallel make changes.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D52e2=
c12288cdcdcaa46a18937cc051d3322bbc99

== Abgelehnte Patches (bis jetzt) ==

No one was disappointed this week :-)

== Eingesandte Patches ==

Shigeru HANADA sent in two more revisions of the patch for SQL/MED.

Heikki Linnakangas sent in two WIP patches to fix some misbehavior in
the interaction between GIN and GiST index splits, and checkpoints.

KaiGai Kohei sent in two revisions of a patch to add security hooks on
object creation.

Peter Eisentraut sent in a patch to add [RESTRICT|CASCADE] to ALTER
TYPE ... ADD/ALTER/DROP/RENAME ATTRIBUTE, so that recurses to typed
tables.

Bruce Momjian sent in a patch to fix an issue where PostgreSQL appears
stopped when it is actually running.

Bruce Momjian sent in a patch to correct some error messages for
connections to PostgreSQL over ipv6 in libpq.

KaiGai Kohei sent in a patch to allow the security label provider to
switch security label of the client during execution of certain
functions.

Robert Haas sent in a set of three patches intended to be
infrastructure for unlogged tables.

Jan Urbanski sent in a patch to fix a bug in plpython's Python
Generators.

Greg Smith sent in a rebased and corrected version of the MERGE patch.

Marko (johto) Tiikkaja sent in another revision of the patch to add
writeable CTEs, this time using single-snapshot isolation per
discussion.

Greg Smith sent in a patch which adds some logging for each individual
fsync call made during a checkpoint, along with a summary at the end.

Greg Smith sent in a patch which adds a new field to pg_stat_bgwriter,
counting the number of times backends execute their own fsync calls.

Greg Smith and Simon Riggs wrote and Greg Smith sent in a patch which
spreads out the individual checkpoint fsync calls over time.

ITAGAKI Takahiro sent in a WIP patch to add support for MULTISET
functions.

Joachim Wieland sent in a patch to add a new "directory" format to
pg_dump, which is in part infrastructure for parallel pg_dump.

Joachim Wieland sent in a patch based on the above patch which allows
for parallel pg_dump and pg_restore.

Peter Eisentraut sent in another patch to implement per-column
collation.

Gregory Stark sent in another revision of the patch to add getrusage
resource tracking to EXPLAIN ANALYZE.

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




--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein