== Wöchentlicher PostgreSQL Newsletter - 12. Juni 2011 ==

== Wöchentlicher PostgreSQL Newsletter - 12. Juni 2011 ==

am 13.06.2011 14:46:45 von adsmail

Der Originalartikel befindet sich unter:


== Wöchentlicher PostgreSQL Newsletter - 12. Juni 2011 ==

NYCPUG präsentiert "Data Storage at foursqare" am 22. Juni 2011
um 18:30 Uhr im Spotify. Anmeldung und Details unter:

PostgreSQL Conference West 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
im Casa 400 Hotel in Amsterdam, Niederlande statt. Es werden
Vorträge für PostgreSQL Anwender, Entwickler und Beitragende
dabei sein, sowie für Entscheidungsträger. Für mehr Informat=
über die Konferenz bitte die Webseite besuchen:

PG-Day Denver 2011 findet am Samstag, dem 17. September 2011 auf dem
Auraria Campus in der Nähe von Downtown Denver, Colorado statt.

== PostgreSQL Produkt Neuigkeiten ==

pgreplay 1.0.0, ein Werkzeug um Logs wieder in einer PostgreSQL
Datenbank abzuspielen, ist erschienen.

Devart LinqConnect 2.50 und Developer 3.50 sind erschienen.

Pyrseas 0.2.1, ein Werkzeug für PostgreSQL Versionskontrolle,
ist auf PGXN erschienen.

== PostgreSQL Jobs im Juni ==

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

== PostgreSQL Lokal ==

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

CHAR(11), die PostgreSQL Konferenz für Clustering, Hochverfügbark=
und Replikation hat jetzt die Registrierung eröffnet.
Die Konferenz findet am 11. und 12. Juli 2011 in Cambridge, UK statt.

PostgreSQL Conference China 2011 findet in Guangzhou am
15. und 16. Juli 2011 statt.

PDXPUG hostet PgDay am Sonntag, dem 24. Juli 2011, einen Tag
vor der OSCON in Portland, Oregon, USA. Details hier:

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.

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.

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

Andrew Dunstan pushed:

- Allow building with perl 5.14. Patch from Alex Hunsaker.
http://git.postgresql.org/pg/commitdiff/ccd69b888641441b2332 dc928ada1390dd0=

Tom Lane pushed:

- Fix rewriter to cope (more or less) with CTEs in the query being
rewritten. Since the original implementation of CTEs only allowed
them in SELECT queries, the rule rewriter did not expect to find any
CTEs in statements being rewritten by ON INSERT/UPDATE/DELETE rules.
We had dealt with this to some extent but the code was still several
bricks shy of a load, as illustrated in bug #6051 from
Jehan-Guillaume de Rorthais. In particular, we have to be able to
copy CTEs from the original query's cteList into that of a rule
action, in case the rule action references the CTE (which it pretty
much always will). This also implies we were doing things in the
wrong order in RewriteQuery: we have to recursively rewrite the CTE
queries before expanding the main query, so that we have the
rewritten queries available to copy. There are unpleasant
limitations yet to resolve here, but at least we now throw
understandable FEATURE_NOT_SUPPORTED errors for them instead of just
failing with bizarre implementation-dependent errors. In
particular, we can't handle propagating the same CTE into multiple
post-rewrite queries (because then the CTE would be evaluated
multiple times), and we can't cope with conflicts between CTE names
in the original query and in the rule actions.
http://git.postgresql.org/pg/commitdiff/fc1286d3cb92adad2eae 69924bead12cfee=

- Allow domains over arrays to match ANYARRAY parameters again. This
use-case was broken in commit
529cb267a6843a6a8190c86b75d091771d99d6a9 of 2010-10-21, in which I
commented "For the moment, we just forbid such matching. We might
later wish to insert an automatic downcast to the underlying array
type, but such a change should also change matching of domains to
ANYELEMENT for consistency". We still lack consensus about what to
do with ANYELEMENT; but not matching ANYARRAY is a clear loss of
functionality compared to prior releases, so let's go ahead and make
that happen. Per complaint from Regina Obe and extensive subsequent
http://git.postgresql.org/pg/commitdiff/b7e8feb33e5d948c6672 0643fe32cfb0698=

- Make citext's equality and hashing functions collation-insensitive.
This is an ugly hack to get around the fact that significant parts
of the core backend assume they don't need to worry about passing
collation to equality and hashing functions. That's true for the
core string datatypes, but citext should ideally have equality
behavior that depends on the specified collation's LC_CTYPE.
However, there's no chance of fixing the core before 9.2, so we'll
have to live with this compromise arrangement for now. Per bug
#6053 from Regina Obe. The code changes in this commit should be
reverted in full once the core code is up to speed, but be careful
about reverting the docs changes: I fixed a number of obsolete
statements while at it.
http://git.postgresql.org/pg/commitdiff/3ebc061c18fcf9447977 d232280793e27ba=

- Update 9.1 release notes to reflect commits through today. Also do
some desultory copy-editing on the notes.
http://git.postgresql.org/pg/commitdiff/e9c9a920680595b77261 48852e19deeb1f7=

- Tag 9.1beta2.
http://git.postgresql.org/pg/commitdiff/829ae4bf830e14bda649 a153f7d179681e2=

- Work around gcc 4.6.0 bug that breaks WAL replay. ReadRecord's
habit of using both direct references to tmpRecPtr and references to
*RecPtr (which is pointing at tmpRecPtr) triggers an optimization
bug in gcc 4.6.0, which apparently has forgotten about aliasing
rules. Avoid the compiler bug, and make the code more readable to
boot, by getting rid of the direct references. Improve the comments
while at it. Back-patch to all supported versions, in case they get
built with 4.6.0. Tom Lane, with some cosmetic suggestions from
Alex Hunsaker
http://git.postgresql.org/pg/commitdiff/c2ba0121c73b74613311 04a46d140156e84=

- Stamp HEAD as 9.2devel.
http://git.postgresql.org/pg/commitdiff/c9627922115a56cfd1bc 966b62108efba58=

Heikki Linnakangas pushed:

- Make ascii-art in comments pgindent-safe, and some other formatting
changes. Kevin Grittner
http://git.postgresql.org/pg/commitdiff/a31ff707a27b3ed4a1c0 82c131194995efb=

- Make DDL operations play nicely with Serializable Snapshot
Isolation. Truncating or dropping a table is treated like deletion
of all tuples, and check for conflicts accordingly. If a table is
clustered or rewritten by ALTER TABLE, all predicate locks on the
heap are promoted to relation-level locks, because the tuple or page
ids of any existing tuples will change and won't be valid after
rewriting the table. Arguably ALTER TABLE should be treated like a
mass-UPDATE of every row, but if you e.g change the datatype of a
column, you could also argue that it's just a change to the physical
layout, not a logical change. Reindexing promotes all locks on the
index to relation-level lock on the heap. Kevin Grittner, with a
lot of cosmetic changes by me.
http://git.postgresql.org/pg/commitdiff/8f9622bbb3c02b061767 60c3ca2d33c5b5f=

- Mark the SLRU page as dirty when setting an entry in pg_serial. In
the passing, fix an incorrect comment.
http://git.postgresql.org/pg/commitdiff/5234161ac10350e00987 4e4872935a6133d=

- Fix the truncation logic of the OldSerXid SLRU mechanism. We can't
pass SimpleLruTruncate() a page number that's "in the future",
because it will issue a warning and refuse to truncate anything.
Instead, we leave behind the latest segment. If the slru is not
needed before XID wrap-around, the segment will appear as new again,
and not be cleaned up until it gets old enough again. That's a bit
unpleasant, but better than not cleaning up anything. Also, fix
broken calculation to check and warn if the span of the OldSerXid
SLRU is getting too large to fit in the 64k SLRU pages that we have
available. It was not XID wraparound aware. Kevin Grittner and me.
http://git.postgresql.org/pg/commitdiff/e1c26ab853dc4b816d2e b4c99b948fb099c=

- Small comment fixes and enhancements.
http://git.postgresql.org/pg/commitdiff/c79c570bd8fbd6f074b8 c186dfb08a9f4e3=

- Fix locking while setting flags in MySerializableXact. Even if a
flag is modified only by the backend owning the transaction, it's
not safe to modify it without a lock. Another backend might be
setting or clearing a different flag in the flags field
concurrently, and that operation might be lost because setting or
clearing a bit in a word is not atomic. Make did-write flag a
simple backend-private boolean variable, because it was only set or
tested in the owning backend (except when committing a prepared
transaction, but it's not worthwhile to optimize for the case of a
read-only prepared transaction). This also eliminates the need to
add locking where that flag is set. Also, set the did-write flag
when doing DDL operations like DROP TABLE or TRUNCATE -- that was
missed earlier.
http://git.postgresql.org/pg/commitdiff/cb2d158c5808c72cbd12 cbffe0b7f5dbe83=

- Remove now-unnecessary casts. Kevin Grittner.
http://git.postgresql.org/pg/commitdiff/13000b44d6069743db98 ec753763d882b9a=

Alvaro Herrera pushed:

- Revert psql bits to display NOT VALID for FKs. These are superseded
BY pg_get_constraintdef's ability to display the same when
appropriate, which is a better place to do it anyway.
http://git.postgresql.org/pg/commitdiff/135a507991c8ea9eca20 1cc084294a689ca=

- Use "transient" files for blind writes. "Blind writes" are a
mechanism to push buffers down to disk when evicting them; since
they may belong to different databases than the one a backend is
connected to, the backend does not necessarily have a relation to
link them to, and thus no way to blow them away. We were keeping
those files open indefinitely, which would cause a problem if the
underlying table was deleted, because the operating system would not
be able to reclaim the disk space used by those files. To fix, have
bufmgr mark such files as transient to smgr; the lower layer is
allowed to close the file descriptor when the current transaction
ends. We must be careful to have any other access of the file to
remove the transient markings, to prevent unnecessary expensive
system calls when evicting buffers belonging to our own database
(which files we're likely to require again soon.)
http://git.postgresql.org/pg/commitdiff/54d9e8c6c19cbefa8fb4 2ed3442a0a53275=

- Revert "Use 'transient' files for blind writes." This reverts commit
54d9e8c6c19cbefa8fb42ed3442a0a5327590ed3, which caused a failure on
the buildfarm. Not a good thing to have just before a beta release.
http://git.postgresql.org/pg/commitdiff/9261557eb1e19cf691f6 f2cd9bd4d55fd86=

- Use a constant sprintf format to silence compiler warning
http://git.postgresql.org/pg/commitdiff/3d114b63b253605eb600 55c910aa2e55c98=

- Use "transient" files for blind writes, take 2. "Blind writes" are
a mechanism to push buffers down to disk when evicting them; since
they may belong to different databases than the one a backend is
connected to, the backend does not necessarily have a relation to
link them to, and thus no way to blow them away. We were keeping
those files open indefinitely, which would cause a problem if the
underlying table was deleted, because the operating system would not
be able to reclaim the disk space used by those files. To fix, have
bufmgr mark such files as transient to smgr; the lower layer is
allowed to close the file descriptor when the current transaction
ends. We must be careful to have any other access of the file to
remove the transient markings, to prevent unnecessary expensive
system calls when evicting buffers belonging to our own database
(which files we're likely to require again soon.) This commit fixes
a bug in the previous one, which neglected to cleanly handle the LRU
ring that fd.c uses to manage open files, and caused an unacceptable
failure just before beta2 and was thus reverted.
http://git.postgresql.org/pg/commitdiff/fba105b1099f4f5fa728 3bb17cba6fed2ba=

- Add comment about pg_ctl stop
http://git.postgresql.org/pg/commitdiff/d69149ed71cc4f073f22 2f11f702a20a6d2=

Robert Haas pushed:

- Complain politely about access temp/unlogged tables during recovery.
This has never been supported, but we previously let md.c issue the
complaint for us at whatever point we tried to examine the backing
file. Now we print a nicer error message. Per bug #6041, reported
by Emanuel, and extensive discussion with Tom Lane over where to put
the check.
http://git.postgresql.org/pg/commitdiff/16925c1e1fa236e4d7d6 c8b571890e7c777=

- Tab completion improvements for COMMENT. These pertain to object
types introduced in PostgreSQL 9.1, so back-patch. Josh
Kupershmidt, with some kibitzing by me.
http://git.postgresql.org/pg/commitdiff/c878cbe158b6cc20fe5d c65481885f3b275=

- Code cleanup for InitProcGlobal. The old code creates three
separate arrays when only one is needed, using two different shmem
allocation functions for no obvious reason. It also strangely
splits up the initialization of AuxilaryProcs between the top and
bottom of the function to no evident purpose. Review by Tom Lane.
http://git.postgresql.org/pg/commitdiff/47ebcecc3ef862c6ad96 1539638123af634=

- Corrections to ALTER FOREIGN TABLE documentation. Shigeru Hanada,
with a minor grammar correction.
http://git.postgresql.org/pg/commitdiff/5fe241c5f91b3bb0c9ef 4d80d402dd83812=

Peter Eisentraut pushed:

- Reorder pg_ctl promote after pg_ctl status. Since
start/stop/restart/reload/status is a kind of standard command set,
it seems odd to insert the special-purpose "promote" in between the
closely related "restart" and "reload". So put it after "status" in
code and documentation. Put the documentation of the -U option in
some sensible place. Rewrite the synopsis sentence in help and
documentation to make it less of a growing mouthful.
http://git.postgresql.org/pg/commitdiff/1bcdd66315fa12397931 34e8284afc272f5=

- Fix documentation of information_schema.element_types. The
documentation of the columns collection_type_identifier and
dtd_identifier was wrong. This effectively reverts commits
8e1ccad51901e83916dae297cd9afa450957a36c and
57352df66d3a0885899d39c04c067e63c7c0ba30 and updates the name
array_type_identifier (the name in SQL:1999) to
collection_type_identifier. closes bug #5926
http://git.postgresql.org/pg/commitdiff/7d43ae6713223164be01 7be6e866868d1d7=

- Translation updates for 9.1beta2
http://git.postgresql.org/pg/commitdiff/74b1d29dd186c4ea51ba 1eff06aebd1faeb=

Magnus Hagander pushed:

- Add gitignore for mingw/cygwin build outputs. Noted by Radosł=
http://git.postgresql.org/pg/commitdiff/1710752a50a37c965c96 4e362635d9ba3a3=

- Support silent mode for service registrations on win32. Using -s
when registering a service will now suppress the application
eventlog entries stating that the service is starting and started.
http://git.postgresql.org/pg/commitdiff/7e6ec04d964b03e836c3 c19b5601e889b66=

- Use the correct eventlog severity for error
http://git.postgresql.org/pg/commitdiff/3db963d760f93ac4b695 b0c4a1e22231d30=

Bruce Momjian pushed:

- Update typedef list for upcoming pgindent run.
http://git.postgresql.org/pg/commitdiff/adf43b2b36ca3d7f9889 33990051c74a4bd=

- Pgindent run before 9.1 beta2.
http://git.postgresql.org/pg/commitdiff/6560407c7db2c7e32926 a46f5fb52175ac1=

- Ecpg doc cleanups, as reported by Marc Cousin.
http://git.postgresql.org/pg/commitdiff/43958a028037edca1ed7 86147dc7bacf62d=

- Mention "pg_ctl stop" in pgindent README instructions.
http://git.postgresql.org/pg/commitdiff/bb8f0c4b4863d697264c c6f295f50627b15=

- Add C comment mentioning pg_stat_activity.procpid should have been
called 'pid'.
http://git.postgresql.org/pg/commitdiff/a4bebdd92624e018108c 2610fc3f2c1584b=

== Abgelehnte Patches (bis jetzt) ==

Marti Raudsepp's patch to add "GROUP BY *." Not wanted.

== Eingesandte Patches ==

KaiGai Kohei sent in two patches to help with the "leaky view"

Robert Haas sent in two more revisions of the patch to add a fast path
locking mechanism, which greatly speeds up the read-only case.

Cyan Ogilvie sent in a patch to document how PostgreSQL hashes

Simon Riggs sent in a patch to reduce contention for WALInsertLock.

Robert Haas sent in a patch to refactor heap_hot_search_buffer() so
that index_getnext() can use it by suitably modifying index_getnext().

Mike Pultz sent in two more revisions of a patch to add serial2 (based
on int2).

Brar Piening and Josh Kupershmidt traded tests and patches for the
serial2 type.

Brar Piening sent in a patch to add Visual Studio 2010/Windows SDK 7.1
support for building PostgreSQL.

Simon Riggs sent in a WIP patch to improve performance by locking
tables less frequently.

Kevin Grittner and Dan Ports traded patches to fix some corner cases
in SSI.

Alvaro Herrera sent in two revisions of a patch to fix an issue where
the postmaster was holding unlinked files for pg_largeobject table.

Kevin Grittner sent in a patch to fix an issue with SSI and page-level

Radoslaw Smogura sent in a patch to add a new .gitignore for some
cygwin files.

Pavel Stehule sent in a patch to make more details available for error
reporting and use same.

Florian Pflug sent in two more revisions of the patch to remove a
corner case error where XML in the database could result in
unrestorable dumps.

Greg Smith sent in another revision of the patch to consolidate pieces
which used to be in contrib/ into core because they tend to be needed
in emergencies, when installing new software might not be an option.

Hitoshi Harada sent in a patch to allow the planner to create a
NestLoop with parameterized aggregate subquery, similar to the
IndexScan pattern. This reduces unneeded aggregation.

KaiGai Kohei sent in a patch which adds a cache mechanism for SELinux
access control decisions to contrib/sepgsql.

Florian Pflug sent in another revision of the patch to fix an issue
where XPATH doesn't always return a scalar value when it should.

Florian Pflug reviewed and sent in another revision of the patch to

Noah Misch sent in a patch to make the deadlock timeout PGC_SUSET.

Noah Misch sent in two revisions of a patch to identify and not
perform no-op length coercions.

Alexander Korotkov sent in another revision of the patch to collect
statistics on array columns.

Noah Misch sent in a patch to make relation_openrv atomic with respect
to DDL.

Robert Haas sent in a patch that applies over the "reducing the
overhead of frequent table locks" (fastlock-v3) patch and allows
heavyweight VXID locks to spring into existence only when someone
wants to wait on them.

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: