== Wöchentlicher PostgreSQL Newsletter - 10. April 2011 ==

== Wöchentlicher PostgreSQL Newsletter - 10. April 2011 ==

am 13.04.2011 10:51:45 von adsmail

Der Originalartikel befindet sich unter:


== Wöchentlicher PostgreSQL Newsletter - 10. April 2011 ==

Austin PUG trifft sich am 13. April:

NYCPUG trifft sich am 14. April um 18 Uhr. Details und Anmeldung unter:

== PostgreSQL Produkt Neuigkeiten ==

MicroOLAP Database Designer 1.8.0 Beta für PostgreSQL ist erschienen.

pgbouncer 1.4.1, ein leichtgewichtiger Connectionpooler für
PostgreSQL, ist erschienen.

PostgreSQL Multiple Precision Arithmetic 1.0b1 ist erschienen:

Pyrseas 0.1.0, ein Versionskontrollwerkzeug für PostgreSQL,
ist erschienen.

== PostgreSQL Jobs im April ==

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

== PostgreSQL Lokal ==

Es wird eine umfangreiche PostgreSQL Präsenz auf der MySQL Konferenz
und Expo am am 11-14. April 2011 in Santa Clara, Kalifornien, geben.
http://en.oreilly.com/mysql2011/public/schedule/tag/postgres ql

Die Türkische PostgreSQL User Group organisiert eine eintägige
Veranstaltung am 30. April 2011. Folge @PgDayTR für Details,
auf Türkisch.

Das Open Database Camp findet vom 7. bis 9. Mai 2011 in Sardinien,
Italien statt.
http://datacharmer.blogspot.com/2011/01/announcing-open-data base-camp-sardi=

PGCon findet am 19. und 20. Mai 2011 an der Universität
von Ottawa statt, vorher gibt es am 17. und 18. Mai
zwei Tage mit Trainings.

PG Session 2 über PostGIS findet am 23. Juni in Paris statt.
Der Call for Papers ist jetzt offen.

pgbr findet in Sao Paulo, Brazilien, am 3. und 4. November 2011 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 ==

Alvaro Herrera pushed:

- Duplicate expansion of "direction" from FETCH's synopsis into MOVE
http://git.postgresql.org/pg/commitdiff/8c250f3741f4f897362d e32a03f56726cf3=

- Uppercase and tags in SGML source. This
improves compatibility with external toolchains, such as those used
by some documentation translation tools. Gabriele Bartolini
http://git.postgresql.org/pg/commitdiff/fc3459d70c5d842fe651 9522649c8a47454=

- Update MSVC toolchain to match SGML entity uppercasing. Per Robert
http://git.postgresql.org/pg/commitdiff/34a991619bddf2bfb441 cf2d4396b671983=

- Change "Id" to "id" in some SGML tags. Gabriele Bartolini
http://git.postgresql.org/pg/commitdiff/38d15f16511cb9f75ed2 b1e1f73117c1bc5=

Robert Haas pushed:

- Include pid in pg_lock_status() results even for SIREAD locks. Dan
http://git.postgresql.org/pg/commitdiff/a0e50e698beb89a8ec20 3303581e464a5f6=

- Add missing check on invocation of trusted procedures. KaiGai Kohei
http://git.postgresql.org/pg/commitdiff/595a441ae999fb155a38 1fa4bcceadf40f0=

- Merge synchronous_replication setting into synchronous_commit. This
means one less thing to configure when setting up synchronous
replication, and also avoids some ambiguity around what the behavior
should be when the settings of these variables conflict. Fujii
Masao, with additional hacking by me.
http://git.postgresql.org/pg/commitdiff/240067b3b0ff989d2b28 f4f917f7958f2ec=

- Add casts from int4 and int8 to numeric. Joey Adams, per gripe from
Ramanujam. Review by myself and Tom Lane.
http://git.postgresql.org/pg/commitdiff/f5e524d92be609c70982 5be8995bf77f108=

- Typo fixes. Erik Rijkers
http://git.postgresql.org/pg/commitdiff/ad275473a5ea75f4aa01 0791884004f75f3=

- Repair some flakiness in CheckTargetForConflictsIn. When we release
and reacquire SerializableXactHashLock, we must recheck whether an
R/W conflict still needs to be flagged, because it could have
changed under us in the meantime. And when we release the partition
lock, we must re-walk the list of predicate locks from the
beginning, because our pointer could get invalidated under us. Bug
report #5952 by Yamamoto Takashi. Patch by Kevin Grittner.
http://git.postgresql.org/pg/commitdiff/632f0faa7c975e8984ce 0f1d6b631478e41=

- Fix some sloppiness in new PL/python get_source_line() function.
Jan Urbański
http://git.postgresql.org/pg/commitdiff/b6bc481d5540a3ad0d39 db1e9881e6bd52e=

- Partially roll back overenthusiastic SSI optimization. When a
regular lock is held, Steve Singer can use that in lieu of a
predicate lock to detect rw conflicts; but if the regular lock is
being taken by a subtransaction, we can't assume that it'll commit,
so releasing the parent transaction's lock in that case is a no-no.
Kevin Grittner
http://git.postgresql.org/pg/commitdiff/fbc0d07796bcae8b2ee4 b09ed236877338c=

- Fix bug in propagating ALTER TABLE actions to typed tables. We need
to propagate such actions to all typed table children of a given
type, not just the first one. Noah Misch
http://git.postgresql.org/pg/commitdiff/0bd155cbf2543cdead70 b6e6390e9260035=

- Make psql use pg_table_size instead of pg_relation_size on 9.0+
servers. Per discussion, pg_table_size() is a more helpful number
than pg_relation_size(). Bernd Helmle, reviewed by Susanne Ebrecht
and me.
http://git.postgresql.org/pg/commitdiff/cba9cd419270a9b7f442 877e21685ac0de5=

- Truncate the predicate lock SLRU to empty, instead of almost empty.
Otherwise, the SLRU machinery can get confused and think that the
SLRU has wrapped around. Along the way, regardless of whether we're
truncating all of the SLRU or just some of it, flush pages after
truncating, rather than before. Kevin Grittner
http://git.postgresql.org/pg/commitdiff/cdcdfca40199bbdb30c7 8d105e4db267b63=

Simon Riggs pushed:

- Update comments and credit doc proofreaders
http://git.postgresql.org/pg/commitdiff/35d2a660fea51f8acae6 aa0895875757fa0=

- Centralise release note items related to recovery and replication
http://git.postgresql.org/pg/commitdiff/479ee1b962ca2d479310 af762c21d7c2056=

- Avoid assuming there will be only 3 states for synchronous_commit.
Also avoid hardcoding the current default state by giving it the
name "on" and replace with a meaningful name that reflects its
behaviour. Coding only, no change in behaviour.
http://git.postgresql.org/pg/commitdiff/88f32b7ca29982f286b6 1a9d0dd29be4b8a=

Peter Eisentraut pushed:

- Update key words table for 9.1
http://git.postgresql.org/pg/commitdiff/bf6848bc8c82e82f857d 48185554bc3e6dc=

- Add traceback information to PL/Python errors. This mimics the
traceback information the Python interpreter prints with exceptions.
Jan Urbański
http://git.postgresql.org/pg/commitdiff/2bd78eb8d51cc9ee03ba 0287b23ff4c266d=

- Replace the confusing exit_nicely() by an atexit/on_exit hook
http://git.postgresql.org/pg/commitdiff/c75163842cf93fd7b631 1df2c5545bf0944=

- Update regression test files for PL/Python traceback patch.
http://git.postgresql.org/pg/commitdiff/5d0e462366f4521e3774 4fdb42fed3c6819=

- Allow pg_upgrade with PGCLIENTENCODING set. This used to work, but
since PGCLIENTENCODING is now a connection option variable,
pg_upgrade would prevent it.
http://git.postgresql.org/pg/commitdiff/1eb2231fc46bbfa85b47 c19d88f72162b32=

- Add collation support on Windows (MSVC build). There is not yet
support in initdb to populate the pg_collation catalog, but if that
is done manually, the rest should work.
http://git.postgresql.org/pg/commitdiff/11745364d074f3a7ee54 c98fad55cfb5c51=

Tom Lane pushed:

- Revise the API for GUC variable assign hooks. The previous
functions of assign hooks are now split between check hooks and
assign hooks, where the former can fail but the latter shouldn't.
Aside from being conceptually clearer, this approach exposes the
"canonicalized" form of the variable value to guc.c without having
to do an actual assignment. And that lets us fix the problem
recently noted by Bernd Helmle that the auto-tune patch for
wal_buffers resulted in bogus log messages about "parameter
"wal_buffers" cannot be changed without restarting the server".
There may be some speed advantage too, because this design lets hook
functions avoid re-parsing variable values when restoring a previous
state after a rollback (they can store a pre-parsed representation
of the value instead). This patch also resolves a longstanding
annoyance about custom error messages from variable assign hooks:
they should modify, not appear separately from, guc.c's own message
about "invalid parameter value".
http://git.postgresql.org/pg/commitdiff/2594cf0e8c04406ffff1 9b1651c5a406d37=

- Fix collations when we call transformWhereClause from outside the
parser. Previous patches took care of assorted places that call
transformExpr from outside the main parser, but I overlooked the
fact that some places use transformWhereClause as a shortcut for
transformExpr + coerce_to_boolean. In particular this broke
collation-sensitive index WHERE clauses, as per report from Thom
Brown. Trigger WHEN and rule WHERE clauses too. I'm not forcing
initdb for this fix, but any affected indexes, triggers, or rules
will need to be dropped and recreated.
http://git.postgresql.org/pg/commitdiff/d8d429890d6aa0246e28 faa187a55cb0c65=

- Fix SortTocFromFile() to cope with lines that are too long for its
buffer. The original coding supposed that a dump TOC file could
never contain lines longer than 1K. The folly of that was exposed
by a recent report from Per-Olov Esgard. We only really need to see
the first dozen or two bytes of each line, since we're just trying
to read off the numeric ID at the start of the line; so there's no
need for a particularly huge buffer. What there is a need for is
logic to not process continuation bufferloads. Back-patch to all
supported branches, since it's always been like this.
http://git.postgresql.org/pg/commitdiff/1471a147f09f73751194 5ac59ca3162469d=

- Fix plpgsql's issues with dropped columns in rowtypes in 8.4 branch.
This is a back-patch of commit dcb2bda9b7042dbf43f876c94ebf35d951de10e9
of Aug 6 2009, which fixed assorted cases in which plpgsql would
fail to cope with composite types that contain any dropped columns.
Per discussion, this fix has been out in 9.0 for long enough to make
it improbable that it creates any new bugs, so this is a low-risk
fix. To make it even lower risk, I did not back-patch the changes
in execQual.c, but just accepted the duplication of code between
there and tupconvert.c. The added files tupconvert.h and
tupconvert.c match their current states in HEAD.
http://git.postgresql.org/pg/commitdiff/5d3853a7fa40b28b44b1 4084863fd83a188=

- Modernize dlopen interface code for FreeBSD and OpenBSD. Remove the
hard-wired assumption that __mips__ (and only __mips__) lacks dlopen
in FreeBSD and OpenBSD. This assumption is outdated at least for
OpenBSD, as per report from an anonymous 9.1 tester. We can
perfectly well use HAVE_DLOPEN instead to decide which code to use.
Some other cosmetic adjustments to make freebsd.c, netbsd.c, and
openbsd.c exactly alike.
http://git.postgresql.org/pg/commitdiff/73d9a908140e709b4cb1 2a8d2257a11baae=

- Tweaks for SSI out-of-shared memory behavior. If we call
hash_search() with HASH_ENTER, it will bail out rather than return
NULL, so it's redundant to check for NULL again in the caller.
Thus, in cases where we believe it's impossible for the hash table
to run out of slots anyway, we can simplify the code slightly. On
the flip side, in cases where it's theoretically possible to run out
of space, we don't want to rely on dynahash.c to throw an error;
instead, we pass HASH_ENTER_NULL and throw the error ourselves if a
NULL comes back, so that we can provide a more descriptive error
message. Kevin Grittner
http://git.postgresql.org/pg/commitdiff/56c7140ca813ba4c7ecb 122a1d2b1268e70=

- Add an example of WITH (UPDATE RETURNING) INSERT to the INSERT ref
page. Per a discussion with Gavin Flower. This barely scratches
the surface of potential WITH (something RETURNING) use cases, of
course, but it's one of the simplest compelling examples I can think
http://git.postgresql.org/pg/commitdiff/8ad58279fa75636b776e 4c648e1ffc7079a=

- Avoid extra whitespace in the arguments of . As noted by
Thom Brown, this confuses the DocBook index processor; it fails to
merge entries that differ only in whitespace, and sorts them
unexpectedly as well. Seems like a toolchain bug, but I'm not going
to hold my breath waiting for a fix. Note: easiest way to find
these is to look for double spaces in HTML.index.
http://git.postgresql.org/pg/commitdiff/dca30da3433c40b5f92f 1704c496cda052d=

- Modify initdb to complain only when no usable system locales are
found. Per discussion, the original behavior seems too noisy. But
if things are so broken that none of the locales reported by
"locale -a" are usable, that's probably worth warning about.
http://git.postgresql.org/pg/commitdiff/d4c810d570e71b021c93 e3ee3ea4ab18af4=

- Avoid an unnecessary syscache lookup in parse_coerce.c. All the
other fields of the constant are being extracted from the syscache
entry we already have, so handle collation similarly. (There don't
seem to be any other uses for the new function at the moment.)
http://git.postgresql.org/pg/commitdiff/c5ff3ff49229e8fb7da0 e46b463bfc9b122=

- Tweak collation setup for GIN index comparison functions. Honor
index column's collation spec if there is one, don't go to the
expense of calling get_typcollation when we can reasonably assume
that all GIN storage types will use default collation, and be sure
to set a collation for the comparePartialFn too.
http://git.postgresql.org/pg/commitdiff/1766a5b63a950a667ed3 9c25256156bf366=

- Fix make_greater_string to not have an undocumented collation
assumption. The previous coding worked only if ltproc->fn_collation
was always either DEFAULT_COLLATION_OID or a C-compatible locale.
While that's true at the moment, it wasn't documented (and in fact
wasn't true when this code was committed...). But it only takes a
couple more lines to make its internal caching behavior
locale-aware, so let's do that.
http://git.postgresql.org/pg/commitdiff/466dac8656c11317b91c 1a4bfd5cfca4508=

- Clean up minor collation issues in indxpath.c. Get rid of bogus
collation test in match_special_index_operator (even for ILIKE, the
pattern match operator's collation doesn't matter here, and even if
it did the test was testing the wrong thing). Fix broken looping
logic in expand_indexqual_rowcompare. Add collation check in
match_clause_to_ordering_op. Make naming and argument ordering more
consistent; improve comments.
http://git.postgresql.org/pg/commitdiff/69f1d5fe1456229aeea3 096c372eb24cedc=

- Don't show unusable collations in psql's \dO command. "Unusable"
collations are those not matching the current database's encoding.
The former behavior inconsistently showed such collations some of
the time, depending on the details of the pattern argument.
http://git.postgresql.org/pg/commitdiff/7c76906b7e24d9ea94a2 b0e33396ebcac60=

- Adjust collation determination rules as per discussion. Remove
crude hack that tried to propagate collation through a
function-returning-record, ie, from the function's arguments to
individual fields selected from its result record. That is just
plain inconsistent, because the function result is composite and
cannot have a collation; and there's no hope of making this kind of
action-at-a-distance work consistently. Adjust regression test
cases that expected this to happen. Meanwhile, the behavior of
casting to a domain with a declared collation stays the same as it
was, since that seemed to be the consensus.
http://git.postgresql.org/pg/commitdiff/a19002d4e5da028ff728 0554b281e402c60=

- Remove collate.linux.utf8.sql's assumptions about ".utf8" in locale
names. Tweak the test so that it does not depend on the platform
using ".utf8" as the extension signifying that a locale uses UTF8
encoding. For the most part this just requires using the
abbreviated collation names "en_US" etc, though I had to work a bit
harder on the collation creation tests. This opens the door to
using the test on platforms that spell locales differently, for
example ".utf-8" or ".UTF-8". Also, the test is now somewhat useful
with server encodings other than UTF8; though depending on which
encoding is selected, different subsets of it will fail for lack of
character set support.
http://git.postgresql.org/pg/commitdiff/f89e4dfa755b9c9be9c1 9f7c65cff50d47b=

- Fix ILIKE to honor collation when working in single-byte encodings.
The original collation patch only fixed the multi-byte code path.
This change also ensures that ILIKE's idea of the case-folding rules
is exactly the same as str_tolower's.
http://git.postgresql.org/pg/commitdiff/00f11f419caa873b44d7 0071d4ade0b8c75=

- Clean up overly complex code for issuing some related error
messages. The original version was unreadable, and not mechanically
checkable either.
http://git.postgresql.org/pg/commitdiff/9a8b73147c07e02e10e0 d0a34aa99d72e33=

- Teach regular expression operators to honor collations. This
involves getting the character classification and case-folding
functions in the regex library to use the collations infrastructure.
Most of this work had been done already in connection with the
upper/lower and LIKE logic, so it was a simple matter of
transposition. While at it, split out these functions into a
separate source file regc_pg_locale.c, so that they can be correctly
labeled with the Postgres project's license rather than the
Scriptics license. These functions are 100% Postgres-written code
whereas what remains in regc_locale.c is still mostly not ours, so
lumping them both under the same copyright notice was getting more
and more misleading.
http://git.postgresql.org/pg/commitdiff/1e16a8107db9a50435b3 9e09c6f9c52c45e=

- Insert dummy "break"s to silence compiler complaints. Apparently
some compilers dislike a case label with nothing after it. Per
http://git.postgresql.org/pg/commitdiff/7aa3f1d08292d43b9830 75e190eee964c38=

- Add some more mapping macros for Microsoft wide-character API. Per
http://git.postgresql.org/pg/commitdiff/f510fc1d904d3266fd43 3b49664a7685f4f=

Bruce Momjian pushed:

- Simplify structure of query used to gather database object
information in pg_upgrade.
http://git.postgresql.org/pg/commitdiff/e69d32158c1806984013 0f62c5597ca1ef6=

- Preserve pg_largeobject_metadata.relfrozenxid in pg_upgrade. This
is needed only in 9.1 because only 9.0 had this and no one is
upgrading from a 9.0 beta to 9.0 anymore. We basically don't
backpatch 9.0 beta fixes at this point.
http://git.postgresql.org/pg/commitdiff/82a4f370735130418738 f8cf0fb9155b1cf=

- Have pg_upgrade properly preserve relfrozenxid in toast tables.
This fixes a pg_upgrade bug that could lead to query errors when
clog files are improperly removed.
http://git.postgresql.org/pg/commitdiff/9c38bce29cb6d3ef49b9 32086d31f635981=

- pgindent run before PG 9.1 beta 1.
http://git.postgresql.org/pg/commitdiff/bf50caf105a901c4f83a c1df3cdaf910c26=

Andrew Dunstan pushed:

- Avoid use of mixed slash style paths in arguments to xcopy in MSVC
builds. Some versions of xcopy, notably on Windows 7 don't like it.
Backpatch to 8.3, where we first used xcopy.
http://git.postgresql.org/pg/commitdiff/a53112338c2f5b74383c e075fbec098cd06=

- Latest consolidated typedef list from buildfarm.
http://git.postgresql.org/pg/commitdiff/fe1438da8aa8a45f2cee 816eb54841f97d3=

- Backport changes to allow building with MinGW 64 bit compiler.
These changes have been in HEAD for some time with no ill effect.
They are only being backported to 9.0, as the required WINNT version
was not high enough before that.
http://git.postgresql.org/pg/commitdiff/2ea865de5660f75f44f6 b1ba78090e41e07=

- Don't make "replication" magical as a user name, only as a database
name, in pg_hba.conf. Per gripe from Josh Berkus.
http://git.postgresql.org/pg/commitdiff/ed557a373c406bbb2a18 43544ebbd856ca4=

- Adjust regression tests on cube and ECPG for MinGW 64 bit compiler.
Backport to 9.0, we're not supporting this compiler on earlier
http://git.postgresql.org/pg/commitdiff/210f95f1cd59c6fdfe0f 84b922c19d8498a=

- Remove CRLF line endings in new cube results file.
http://git.postgresql.org/pg/commitdiff/c1d82a936f6783f4b084 810ff22ca01706f=

== Abgelehnte Patches (bis jetzt) ==

No one was disappointed this week :-)

== Eingesandte Patches ==

Alexey Klyukin sent in an update of Selena Deckelmann's patch to
create a validator for config files.

Tom Lane sent in a patch to document the revised API for GUC assign
hooks via changes to src/backend/utils/misc/README.

Shigeru HANADA sent in patches to implement comments on USER MAPPINGs,
part of SQL/MED.

Peter Eisentraut sent in a patch to fix an issue in the Windows build.

Heikki Linnakangas sent in a patch to have the parser emit an InExpr
node type (similar to the extant CaseExpr), which allows the optimizer
to rearrange IN() to OR() in cases where it is safe to do so.

Shigeru HANADA sent in a patch to implement comments on FOREIGN DATA
WRAPPER and SERVER objects, which are part of SQL/MED.

Josh Kupershmidt sent in a doc patch suggesting using openjade 1.3
rather than 1.4devel as part of the doc build toolset.

KaiGai Kohei sent in a patch for the SE-PostgreSQL supplied module
which checks the process:transition permission between the labels
involved when a client's label changes.

Noah Misch sent in another patch to fix an incompatibility between
pg_dump --binary-upgrade and ALTER TYPE ... DROP ATTRIBUTE.

Noah Misch sent in a patch to fix an issue where
pg_attribute.attinhcount was incorrect.

Peter Eisentraut sent in a patch to add automatic pg_upgrade tests.

Peter Eisentraut sent in a patch to help fix some issues with
collation support on Windows.

Muhammad Usama sent in a patch to remove an extra linefeed from

Agent M sent in a patch to use POSIX shared memory, this one
accounting for multiple-postmaster start race conditions.

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: