== WöchentlicherPostgreSQL Newsletter - 26.Juli 2009

== WöchentlicherPostgreSQL Newsletter - 26.Juli 2009

am 28.07.2009 15:34:15 von adsmail

Der Originalartikel befindet sich unter:
http://www.postgresql.org/community/weeklynews/pwn20090726


== Wöchentlicher PostgreSQL Newsletter - 26. Juli 2009 ==

Wenn du eine Win32 Plattform nutzt, bitte helf einen Patch zu testen,
der das verrufene "failed to re-attach to shared memory" Problem löst.
Http://blog.hagander.net/archives/149-Help-us-test-a-patch-f or-the-Win32-sh=
ared-memory-issue.html

== PostgreSQL Produkt Neuigkeiten ==

psqlODBC 08.04.0100 ist erschienen.
http://psqlodbc.projects.postgresql.org/release.html

Das Open Source Datenbankmagazin startet mit einem Artikel von Robert
Treat.
http://www.osdbzine.net

Der Open Source Database Podcast ist gestartet.
http://www.osdbzine.net/podcast/osdbpodcast.xml

PostGIS 1.4.0, ein Geographic Information System für PostgreSQL, ist
erschienen.
http://postgis.refractions.net/

== PostgreSQL Jobs im Juli ==

http://archives.postgresql.org/pgsql-jobs/2009-07/threads.ph p

== PostgreSQL Lokal ==

Das OpenSQL Camp findet am 22. und 23. August in St. Augustin,
Deutschland, in der Nähe von Bonn und Köln, statt. Einsendeschlu=
ß für
den CfP ist der 19. Juli 2009. Vorträge einreichen!
http://opensqlcamp.org/Events/2009/Call_for_Participation

Die Deutsche PostgreSQL Usergruppe wird einen Dev-Room auf der
FrOSCon am Sonntag, dem 23. August 2009 haben. Der Call for Papers
ist eröffnet:
http://andreas.scherbaum.la/blog/archives/573-Call-for-Paper s-fuer-den-Post=
greSQL-Devroom-auf-der-FrOSCon-2009.html

Der CfP für PyCon Argentina ist bis zum 29. Juni 2009 23:59 ART
geöffnet. Die Konferenz selbst findet in Buenos Aires am 4. und 5.
September 2009 statt.
http://ar.pycon.org/2009/rfp/

Andreas (ads) Scherbaum wird einen Kurs "PostgreSQL im
Unternehmenseinsatz" an der Volkshochschule Magdeburg, Deutschland,
vom 7. bis zum 11. Septemper 2009 geben. Details unter:
http://andreas.scherbaum.la/blog/archives/574-PostgreSQL-als -Bildungsurlaub=
..html

Es findet eine Konferenz in Athens, Georgia, USA am 19. September
2009 statt. Der CfP ist eröffnet.
http://www.postgresqlconference.org/2009/pgday/athens

Es findet eine Konferenz in Seattle, Washington, USA am 16.-18.
Oktober 2009 statt. Der CfP ist eröffnet.
http://www.postgresqlconference.org/2009/west

PGCon Brasilien wird am 23.-24. Oktober 2009 auf dem Unicamp in
Campinas, Sao Paulo, stattfinden. Der CfP ist eröffnet!
http://pgcon.postgresql.org.br/2009/chamadas.en.php

PGDay.EU 2009 wird an der Telecom ParisTech Universität in Paris,
Frankreich, am 6. und 7. Nivember 2009 stattfinden. Der CfP ist
eröffnet. Vorträge einreichen!
http://www.pgday.eu/

Die 10. jährliche JPUG Konferenz hat den Aufruf für Vorträge=
gestartet.
Die Konferenz findet am 20-21. November 2009 in Tokio, Japan, statt.
http://archives.postgresql.org/pgsql-announce/2009-05/msg000 18.php

== PostgreSQL in den News ==

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

Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David
Fetter.

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.

== Angewandte Patches ==

Peter Eisentraut committed:

- Use errcontext mechanism in PL/Python. Error messages from
PL/Python now always mention the function name in the CONTEXT:
field. This also obsoletes the few places that tried to do the same
manually. Regression test files are updated to work with Python
2.4-2.6. I don't have access to older versions right now.

- In pgsql/doc/src/sgml/Makefile, small additional clean from the
rearrangement of the HTML index build rules

- In pgsql/src/tools/editors/emacs.samples, add a further
customization to the SGML Emacs mode to prevent the use of tabs in
the documentation source.

- Remove translated FAQs. The English FAQ has been moved to the wiki,
so the translated versions should have been removed at that point as
well. The FAQ_MINGW.html should have been removed when the platform
FAQs were integrated into the documentation (or earlier). Applied
to both 8.4 and 8.5

- Change pg_listener attribute number constants to match the usual
pattern. It appears that, for no particularly good reason,
pg_listener.h deviates from the usual convention for declaring
attribute number constants. Normally, it's
#define Anum_{catalog-name}_{column-name} {attribute-number}
pg_listener.h, however substitutes a different string that is
similar, but not the same as, the column name. This change fixes
that. Author: Robert Haas

- In pgsql/doc/src/sgml/func.sgml, clarify NULLIF example. Found by
Vesa-Matti J Kari.

- Document \dg+ and \du+. The fact that \dg and \du take the + option
was missing in the documentation. Backpatched to 8.4. Author:
Andreas Wenk.

- In pgsql/src/backend/access/gist/gistsplit.c, fix the fix for the
gist error message

Alvaro Herrera committed:

- In pgsql/src/include/Makefile, install src/include/utils/fmgroids.h
on VPATH builds too. The original coding was not dealing specially
with this file being a symlink, with the end result that it was not
installed in VPATH builds. Oddly enough, the clean target does know
about it ...

Bruce Momjian committed:

- In pgsql/src/bin/pg_dump/pg_dump.c, properly restore
pg_largeobject.relfozenxid in binary upgrade mode. Backpatch to
8.4.X.

Tom Lane committed:

- Fix another semijoin-ordering bug. We already knew that we couldn't
reorder a semijoin into or out of the righthand side of another
semijoin, but actually it doesn't work to reorder it into or out of
the righthand side of a left or antijoin, either. Per bug #4906
from Mathieu Fenniak. This was sloppy thinking on my part. This
identity does work:
( A left join B on (Pab) ) semijoin C on (Pac)
==
( A semijoin C on (Pac) ) left join B on (Pab)
but I failed to see that that doesn't mean this does:
( A left join B on (Pab) ) semijoin C on (Pbc)
!=3D
A left join ( B semijoin C on (Pbc) ) on (Pab)

- In pgsql/src/backend/utils/mmgr/aset.c, speed up AllocSetFreeIndex,
which is a significant cost in palloc and pfree, by using a lookup
table instead of a naive shift-and-count loop. Based on code
originally posted by Sean Eron Anderson at
http://graphics.stanford.edu/%7eseander/bithacks.html. Greg Stark
did the research and benchmarking to show that this is what we
should use. Jeremy Kerr first noticed that this is a hotspot that
could be optimized, though we ended up not using his suggestion of
platform-specific bit-searching code.

- Make pg_dump/pg_restore --clean options drop large objects too. In
passing, make invocations of lo_xxx functions a bit more
schema-safe. Itagaki Takahiro

- Tweak TOAST code so that columns marked with MAIN storage strategy
are not forced out-of-line unless that is necessary to make the row
fit on a page. Previously, they were forced out-of-line if needed
to get the row down to the default target size (1/4th page). Kevin
Grittner

- Change do_tup_output() to take Datum/isnull arrays instead of a char *
array, so it doesn't go through BuildTupleFromCStrings. This is
more or less a wash for current uses, but will avoid inefficiency
for planned changes to EXPLAIN. Robert Haas.

- In pgsql/src/backend/optimizer/path/joinrels.c, fix another thinko
in join_is_legal's handling of semijoins: we have to test for the
case that the semijoin was implemented within either input by
unique-ifying its RHS before we test to see if it appears to match
the current join situation. The previous coding would select
semijoin logic in situations where we'd already unique-ified the RHS
and joined it to some unrelated relation(s), and then came to join
it to the semijoin's LHS. That still gave the right answer as far
as the semijoin itself was concerned, but would lead to incorrectly
examining only an arbitrary one of the matchable rows from the
unrelated relation(s). The cause of this thinko was incorrect
unification of the pre-8.4 logic for IN joins and OUTER joins ---
the comparable case for outer joins can be handled after making the
match test, but that's because there is nothing like the
unique-ification escape hatch for outer joins. Per bug #4934 from
Benjamin Reed.

- In a non-hashed Agg node, reset the "aggcontext" at group
boundaries, instead of individually pfree'ing pass-by-reference
transition values. This should be at least as fast as the prior
coding, and it has the major advantage of clearing out any working
data an aggregate function may have stored in or underneath the
aggcontext. This avoids memory leakage when an aggregate such as
array_agg() is used in GROUP BY mode. Per report from Chris Spotts.
Back-patch to 8.4. In principle the problem could arise in prior
versions, but since they didn't have array_agg the issue seems not
critical.

- In pgsql/src/backend/executor/execTuples.c, save a few cycles in
EXPLAIN and related commands by not bothering to form a physical
tuple in do_tup_output(). A virtual tuple is easier to set up and
also easier for most tuple receivers to process. Per my comment on
Robert Haas' recent patch in this code.

- In pgsql/src/bin/pg_dump/pg_dump.c, teach pg_dump to dump comments
attached to the columns of a composite type. Taro (Higepon) Minowa.

- Add commentary about Cygwin's broken erand48, per report from Andrew
Dunstan.

- Avoid extra system calls to block SIGPIPE if the platform provides
either sockopt(SO_NOSIGPIPE) or the MSG_NOSIGNAL flag to send(). We
assume these features are available if (1) the symbol is defined at
compile time and (2) the kernel doesn't reject the call at runtime.
It might turn out that there are some platforms where (1) and (2)
are true and yet the signal isn't really blocked, in which case
applications would die on server crash. If that sort of thing gets
reported, then we'll have to add additional defenses of some kind.
Jeremy Kerr.

- Assorted minor refactoring in EXPLAIN. This is believed to not
change the output at all, with one known exception: "Subquery Scan
foo" becomes "Subquery Scan on foo". (We can fix that if anyone
complains, but it would be a wart, because the old code was clearly
inconsistent.) The main intention is to remove duplicate coding and
provide a cleaner base for subsequent EXPLAIN patching. Robert
Haas.

- Code review for FORCE QUOTE * patch: fix error checking to consider
FORCE QUOTE * as a variety of FORCE QUOTE, and update psql
documentation to include the option. (The actual psql code doesn't
seem to need any changes.)

- Extend EXPLAIN to allow generic options to be specified. The
original syntax made it difficult to add options without making them
into reserved words. This change parenthesizes the options to avoid
that problem, and makes provision for an explicit (and perhaps
non-Boolean) value for each option. The original syntax is still
supported, but only for the two original options ANALYZE and
VERBOSE. As a test case, add a COSTS option that can suppress the
planner cost estimates. This may be useful for including EXPLAIN
output in the regression tests, which are otherwise unable to cope
with cross-platform variations in cost estimates. Robert Haas

- Experiment with using EXPLAIN COSTS OFF in regression tests. This
is a simple test to see whether COSTS OFF will help much with
getting EXPLAIN output that's sufficiently platform-independent for
use in the regression tests. The planner does have some freedom of
choice in these examples (plain via bitmap indexscan), so I'm not
sure what will happen.

- In pgsql/contrib/pg_stat_statements/pg_stat_statements.c, fix
pg_stat_statements for EXEC_BACKEND case. We should not try to load
old statistics when re-attaching to existing shared memory. Per bug
#4941. Itagaki Takahiro

- In pgsql/contrib/pg_stat_statements/pg_stat_statements.c, improve
comment, per gripe from Alvaro Herrera.

- In pgsql/src/include/storage/s_lock.h, add s_lock support for SuperH
architecture. After a patch originally submitted by Nobuhiro
Iwamatsu, but corrected (I think) to match our guidelines for safe
use of asm fragments. This should be considered untested ...

Joe Conway committed:

- Replace PLpgSQL_dstring by StringInfo. Replace redundant
PLpgSQL_dstring functionality with StringInfo. Patch by Pavel
Stehule. Review by Joe Conway.

Magnus Hagander committed:

- In pgsql/src/interfaces/ecpg/ecpglib/prepare.c, fix mismatch in
const:ness of parameters.

- Reserve the shared memory region during backend startup on Windows,
so that memory allocated by starting third party DLLs doesn't end up
conflicting with it. Hopefully this solves the long-time issue with
"could not reattach to shared memory" errors on Win32. Patch from
Tsutomu Yamada and me, based on idea from Trevor Talbot.

- Reserve the shared memory region during backend startup on Windows,
so that memory allocated by starting third party DLLs doesn't end up
conflicting with it. Hopefully this solves the long-time issue with
"could not reattach to shared memory" errors on Win32. Patch from
Tsutomu Yamada and me, based on idea from Trevor Talbot.

Andrew Dunstan committed:

- In pgsql/doc/src/sgml/install-win32.sgml, update location to
download flex for building on Windows.

- Force use of our erand48 on Cygwin.

- Allow * as parameter for FORCE QUOTE for COPY CSV. Itagaki
Takahiro.

- In pgsql/src/backend/commands/copy.c, small stylistic improvement in
recent FORCE QUOTE * code - use a bool instead of a magic value.

== Abgelehnte Patches (bis jetzt) ==

Dean Rasheed's in revision of the deferrable unique constraints patch.
Needs work.

== Eingesandte Patches ==

James Pye sent in a WIP patch to make PL/Python work with Python 3,
with several stylistic and functional improvements included.

Alexey Klyukin sent in two revisions of a patch to add errcontext
support to PL/Perl.

Pavel Stehule sent in two revisions of a patch intended to fix mixed
and named notation support in PL/PgSQL.

Alan Li sent in two revisions of a patch to optimize MIN()/MAX()
operations on partitioned tables.

Josh Tolley and Petr (PJMODOS) Jelinek traded patches to implement
DefaultACLs.

ITAGAKI Takahiro sent in another revision of the patch to make pgbench
multi-threaded.

Fujii Masao sent in another revision of a patch to add a non-blocking
communication between an front-end and a back-end.

Robert Haas sent in another revision of his patch to auto-generate
headers.

Pavel Stehule sent in another revision of his patch to enable
machine-readable EXPLAIN output.

Brendan Jurd sent in an updated version of the EEEE formatting patch
for to_char().

ITAGAKI Takahiro sent in another revision of his patch to mkae a more
specific error when a key is duplicated.

Bernd Helmle sent in an updated version of the patch to handle byteas
more efficiently in pg_dump.

Jaime Casanova sent in an updated patch to help infer client_encoding
from client locale.

Robert Haas sent in another revision of the machine-readable EXPLAIN
output patch.

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