== Wöchentlicher PostgreSQL Newsletter - 03. Juli 2011 ==

== Wöchentlicher PostgreSQL Newsletter - 03. Juli 2011 ==

am 07.07.2011 02:14:06 von adsmail

Der Originalartikel befindet sich unter:


== Wöchentlicher PostgreSQL Newsletter - 03. Juli 2011 ==

CHAR(11), die spezielle PostgreSQL Konferenz für Clustering,
Hochverfügbarkeit und Replikation. Letzte Chance für Tickets
zum Standardpreis (£375) ist der 4. Juli, danach nur noch Last
Minutes Tickets (£425).

Postgres Open heißt Ihre Vorträge und Workshops willkommen.
Vorträge sollten sich an geschäftliche Nutzer oder Entwickler von
PostgreSQL orientieren und substantiellen technischen Inhalt haben.
Einreichungen sind bis zum 8. Juli möglich. Einreichen unter:

Das Datum für den PG DAY Denver 2011 hat sich verschoben. Der Denver
PG DAY 2011 wird nun am Freitag dem 21. Oktober 2011 stattfinden.
Der Call for Papers ist offen bis zum 31. Juli.

== PostgreSQL Produkt Neuigkeiten ==

Postgres Plus Advanced Server v9.0 ist jetzt generell verfügbar.
http://www.enterprisedb.com/wp-whats-new-postgres-plus-advan ced-server-9.

Dubsar Mobile, ein PostgreSQL-basiertes Zugriffsverzeichnis für
mobile Endgeräte, ist erschienen.

pg_sample 0.05, ein Werkzeug zum Exportieren von kleinen
Beispieldatensätzen aus einer großen PostgreSQL Datenbank, ist er=

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

Postgres 9.1, Beta 2 RPM und DEB Pakete für Linux 32 und 64 sind
von OpenSCG veröffentlicht worden.

Postgres-XC 0.9.5, ein Clustering System für PostgreSQL, ist erschiene=

== PostgreSQL Jobs im Juli ==

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

== PostgreSQL Lokal ==

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.

PG-Day Denver 2011 findet am Freitag, dem 21. Oktober 2011 auf dem
Auraria Campus in der Nähe von Downtown Denver, Colorado statt.

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

Peter Eisentraut pushed:

- Remove redundant DEF_PGPORT handling. DEF_PGPORT already comes in
from pg_config.h, so we don't need to pass it in again with a -D
option. Apparently a leftover from the shell script conversion.
http://git.postgresql.org/pg/commitdiff/4635d3c527916555773a 6eb128fb4a410d5=

- Add some strings that were not marked for translation
http://git.postgresql.org/pg/commitdiff/8c8745b298d20b49e64c 77c1e4ba4c8ac30=

- Add composite-type attributes to information_schema.element_types
http://git.postgresql.org/pg/commitdiff/5594d14696f916e4aad1 4a3a12a4c15d2e7=

- Implement the collation columns of various information schema views.
Fill in the collation columns of the views attributes, columns,
domains, and element_types. Also update collation information in
http://git.postgresql.org/pg/commitdiff/615c3849722ade162827 50aa17658a2543f=

- Unify spelling of "canceled", "canceling", "cancellation". We had
previously (af26857a2775e7ceb0916155e931008c2116632f) established
the U.S. spellings as standard.
http://git.postgresql.org/pg/commitdiff/21f1e15aafb13ab2430e 831a3da7d4d4f52=

Robert Haas pushed:

- Avoid having two copies of the HOT-chain search logic. It's been
like this since HOT was originally introduced, but the logic is
complex enough that this is a recipe for bugs, as we've already
found out with SSI. So refactor heap_hot_search_buffer() so that it
can satisfy the needs of index_getnext(), and make index_getnext()
use that rather than duplicating the logic. This change was
originally proposed by Heikki Linnakangas as part of a larger
refactoring oriented towards allowing index-only scans. I extracted
and adjusted this part, since it seems to have independent merit.
Review by Jeff Davis.
http://git.postgresql.org/pg/commitdiff/4da99ea4231e3d8bbf28 b666748c1028e7b=

- Mention that SSPI authentication can use GSSAPI on non-Windows
systems. As noted by Christian Ullrich.
http://git.postgresql.org/pg/commitdiff/66a36ef949e4e6b8dbcc 8a024eecfeca967=

- Try again to make the visibility map crash safe. My previous
attempt was quite a bit less than half-baked with respect to
http://git.postgresql.org/pg/commitdiff/e16954f3d27fa8e16c37 9ff6623ae18d625=

- Add a missing_ok argument to get_object_address(). This lays the
groundwork for an upcoming patch to streamline the handling of DROP
commands. KaiGai Kohei
http://git.postgresql.org/pg/commitdiff/c533c1477f6beede7660 34c1226a20ac083=

- Fix bugs in relpersistence handling during table creation. Unlike
the relistemp field which it replaced, relpersistence must be set
correctly quite early during the table creation process, as we rely
on it quite early on for a number of purposes, including security
checks. Normally, this is set based on whether the user enters
a relation may also be made implicitly temporary by creating it in
pg_temp. This patch fixes the handling of that case, and also
disables creation of unlogged tables in temporary tablespace (such
table indeed skip WAL-logging, but we reject an explicit
specification) and creation of relations in the temporary schemas of
other sessions (which is not very sensible, and didn't work right
anyway). Report by Amit Khandekar.
http://git.postgresql.org/pg/commitdiff/5da79169d3e9f0fab47d a03318c44075b3f=

Simon Riggs pushed:

- Allow callers to pass a missing_ok flag when opening a relation.
Since the names try_relation_openrv() and try_heap_openrv() don't
seem quite appropriate, rename the functions to
relation_openrv_extended() and heap_openrv_extended(). This is also
more general, if we have a future need for additional parameters
that are of interest to only a few callers. This is infrastructure
for a forthcoming patch to allow get_object_address() to take a
missing_ok argument as well. Patch by me, review by Noah Misch.
http://git.postgresql.org/pg/commitdiff/9abbed0629c862710bdc 0f0dd3565e069ec=

- Reduce impact of btree page reuse on Hot Standby by fixing off-by-1
error. WAL records of type XLOG_BTREE_REUSE_PAGE were generated
using a latestRemovedXid one higher than actually needed because xid
used was page opaque->btpo.xact rather than an actually removed xid.
Noticed on an otherwise quiet system by Noah Misch. Noah Misch and
Simon Riggs
http://git.postgresql.org/pg/commitdiff/e1cd66f74862936d84ac f3008118d6094c5=

- Introduce compact WAL record for the common case of commit
(non-DDL). XLOG_XACT_COMMIT_COMPACT leaves out invalidation
messages and relfilenodes, saving considerable space for the vast
majority of transaction commits. XLOG_XACT_COMMIT keeps same
definition as XLOG_PAGE_MAGIC 0xD067 and earlier. Leonardo
Francalanci and Simon Riggs
http://git.postgresql.org/pg/commitdiff/465883b0a2b4236ba6b3 1b648a9eabef3b7=

Alvaro Herrera pushed:

- Modernise pg_hba.conf token processing. The previous coding was
ugly, as it marked special tokens as such in the wrong stage,
relying on workarounds to figure out if they had been quoted in the
original or not. This made it impossible to have specific keywords
be recognized as such only in certain positions in HBA lines, for
example. Fix by restructuring the parser code so that it remembers
whether tokens were quoted or not. This eliminates widespread
knowledge of possible known keywords for all fields. Also improve
memory management in this area, to use memory contexts that are
reset as a whole instead of using retail pfrees; this removes a
whole lotta crufty (and probably slow) code. Instead of calling
strlen() three times in next_field_expand on the returned token to
find out whether there was a comma (and strip it), pass back the
info directly from the callee, which is simpler. In passing, update
historical artifacts in hba.c API. Authors: Brendan Jurd, Alvaro
Herrera Reviewed by Pavel Stehule
http://git.postgresql.org/pg/commitdiff/e5e2fc842c418432756d 8b5825ff107c6c5=

- Remove rel.h from objectaddress.h; only relcache.h is necessary.
Add rel.h to some files that now need it.
http://git.postgresql.org/pg/commitdiff/6f3efa76b042cdc457db a5bf8d8257f3ae8=

- Fix outdated comment. Extracted from a patch by Bernd Helmle
http://git.postgresql.org/pg/commitdiff/b36927fbe922d1aac5d6 e42c04eecf65bf3=

- Enable CHECK constraints to be declared NOT VALID. This means that
they can initially be added to a large existing table without
checking its initial contents, but new tuples must comply to them; a
separate pass invoked by ALTER TABLE / VALIDATE can verify existing
data and ensure it complies with the constraint, at which point it
is marked validated and becomes a normal part of the table
ecosystem. An non-validated CHECK constraint is ignored in the
planner for constraint_exclusion purposes; when validated, cached
plans are recomputed so that partitioning starts working right away.
This patch also enables domains to have unvalidated CHECK
constraints attached to them as well by way of ALTER DOMAIN / ADD
CONSTRAINT / NOT VALID, which can later be validated with ALTER
DOMAIN / VALIDATE CONSTRAINT. Thanks to Thom Brown, Dean Rasheed
and Jaime Casanova for the various reviews, and Robert Hass for
documentation wording improvement suggestions. This patch was
sponsored by Enova Financial.
http://git.postgresql.org/pg/commitdiff/897795240cfaaed724af 2f53ed2c50c9862=

Magnus Hagander pushed:

- Protect pg_stat_reset_shared() against NULL input. Per bug #6082,
reported by Steve Haslam
http://git.postgresql.org/pg/commitdiff/79aa44536f3980d324f4 86504cde643ce23=

- Mark pg_stat_reset_shared as strict. This is the proper fix for bug
#6082 about pg_stat_reset_shared(NULL) causing a crash, and it
reverts commit 79aa44536f3980d324f486504cde643ce23bf5c6 on head.
The workaround of throwing an error from inside the function is left
on backbranches (including 9.1) since this change requires a new
http://git.postgresql.org/pg/commitdiff/24e2d4b6ba99985d5b71 0983714f0133e94=

Heikki Linnakangas pushed:

- Grab predicate locks on matching tuples in a lossy bitmap heap scan.
Non-lossy case was already handled correctly. Kevin Grittner
http://git.postgresql.org/pg/commitdiff/d9fe63acb033141be695 815a8a663de8dae=

- Move the PredicateLockRelation() call from nodeSeqscan.c to
heapam.c. It's more consistent that way, since all the other
PredicateLock* calls are made in various heapam.c and index AM
functions. The call in nodeSeqscan.c was unnecessarily aggressive
anyway, there's no need to try to lock the relation every time a
tuple is fetched, it's enough to do it once. This has the
user-visible effect that if a seq scan is initialized in the
executor, but never executed, we now acquire the predicate lock on
the heap relation anyway. We could avoid that by taking the lock on
the first heap_getnext() call instead, but it doesn't seem worth the
trouble given that it feels more natural to do it in
heap_beginscan(). Also, remove the retail PredicateLockTuple()
calls from heap_getnext(). In a seqscan, started with heap_begin(),
we're holding a whole-relation predicate lock on the heap so there's
no need to lock the tuples individually. Kevin Grittner and me
http://git.postgresql.org/pg/commitdiff/cd70dd6bef515a573a5a f1756ce6a8b8406=

Tom Lane pushed:

- Restore correct btree preprocessing of "indexedcol IS NULL"
conditions. Such a condition is unsatisfiable in combination with
any other type of btree-indexable condition (since we assume btree
operators are always strict). 8.3 and 8.4 had an explicit test for
this, which I removed in commit
29c4ad98293e3c5cb3fcdd413a3f4904efff8762, mistakenly thinking that
the case would be subsumed by the more general handling of IS (NOT)
NULL added in that patch. Put it back, and improve the comments
about it, and add a regression test case. Per bug #6079 from Renat
Nasyrov, and analysis by Dean Rasheed.
http://git.postgresql.org/pg/commitdiff/a5652d3e05380edcd352 36e94b924c8c105=

- Suppress compiler warning about potentially uninitialized variable.
Maybe some compilers are smart enough to not complain about the
previous coding ... but mine isn't.
http://git.postgresql.org/pg/commitdiff/426cafc46c8bf5aeda38 e8d17f1d86a48e6=

- Fix EXPLAIN to handle gating Result nodes within inner-indexscan
subplans. It is possible for a NestLoop plan node to pass an OUTER
Var into an "inner indexscan" that is an Append construct (derived
from an inheritance tree or UNION ALL subquery). The OUTER tuple is
then passed down at runtime to the leaf indexscan node(s) where it
will actually be used. EXPLAIN has to likewise pass the information
about the nestloop's outer subplan down through the Append node,
else it will fail to print the outer-reference Vars (with complaints
like "bogus varno: 65001"). However, there was a case missed in all
this: we could also have gating Result nodes that were inserted into
the appendrel plan tree to deal with pseudoconstant qual conditions.
So EXPLAIN has to pass down the outer plan node to a Result's
subplan, too. Per example from Jon Nelson. The problem is gone in
9.1 because we replaced the nestloop outer-tuple kluge with a
Param-based data transfer mechanism. Also, so far as I can tell,
the case can't happen before 8.4 because of restrictions on what
sorts of appendrel members could be pulled up into the parent query.
So this patch is only needed for 8.4 and 9.0.
http://git.postgresql.org/pg/commitdiff/789d3d4541e95c6079a5 5196bd63a6ab90e=

- Make distprep and *clean build targets recurse into all
subdirectories. Certain subdirectories do not get built if
corresponding options are not selected at configure time. However,
"make distprep" should visit such directories anyway, so that
constructing derived files to be included in the tarball happens
without requiring all configure options to be given in the tarball
build script. Likewise, it's better if cleanup actions
unconditionally visit all directories (for example, this ensures
proper cleanup if someone has done a manual make in such a
subdirectory). To handle this, set up a convention that
subdirectories that are conditionally included in SUBDIRS should be
added to ALWAYS_SUBDIRS instead when they are excluded. Back-patch
to 9.1, so that plpython's spiexceptions.h will get provided in 9.1
tarballs. There don't appear to be any instances where distprep
actions got missed in previous releases, and anyway this fix
requires gmake 3.80 so we don't want to apply it before 9.1.
http://git.postgresql.org/pg/commitdiff/acb9198b960caaa2fe9f 31258116eaa7c11=

- Back-patch creation of tar.bz2 tarball during "make dist". Since
commit a4d03bbcdaf7739d7e9073ee76bb186f68ddc163, "make dist" has
built both gzip- and bzip2-compressed tarballs. However, this was
pretty useless, because our tarball build script didn't know about
it and proceeded to overwrite the bz2 file with new data.
Back-patch the change to all active branches, so that creation of
the tar.bz2 file can be removed from the build script.
http://git.postgresql.org/pg/commitdiff/fcc4a20dd0be2342d35c fa2bad82af22d51=

- Put comments on the installable procedural languages. Per
suggestion from Josh Kupershmidt.
http://git.postgresql.org/pg/commitdiff/99e47ed0b2d2c559da81 3e679260e218f2c=

- Fix omissions in documentation of the pg_roles view. Somehow,
column rolconfig got removed from the documentation of the pg_roles
view in the 9.0 cycle, although the column is actually still there.
In 9.1, we'd also forgotten to document the rolreplication column.
Spotted by Sakamoto Masahiko.
http://git.postgresql.org/pg/commitdiff/4fa046a39ebdaf4c9191 ffff8a57b0759c5=

Bruce Momjian pushed:

- Change pg_upgrade to use port 50432 by default to avoid unintended
client connections during the upgrade. Also rename data/bin/port
environment variables to being with 'PG'. Also no longer honor
http://git.postgresql.org/pg/commitdiff/a88f4496b75a756df371 a405ce608ceb06c=

- In the pg_upgrade docs, move 50432 port mention to the place where
we talk about client access.
http://git.postgresql.org/pg/commitdiff/cc81d9969c6ac32f8482 b3fc1a1775d2122=

- In pg_upgrade 9.0 and 9.1, document suggestion of using a
non-default port number to avoid unintended client connections.
http://git.postgresql.org/pg/commitdiff/158d071b28529509b0a7 7317a24ef55fb84=

Andrew Dunstan pushed:

- Fix bat file quoting of %ENV.
http://git.postgresql.org/pg/commitdiff/19b7fac86d85c89f2c91 73906722da70c6e=

== Abgelehnte Patches (bis jetzt) ==

No one was disappointed this week :-)

== Eingesandte Patches ==

Heikki Linnakangas sent in a patch to remove some slowness from

Shigeru HANADA sent in another revision of the patch to add SQL/MED
per-column GENERIC OPTIONs.

Simon Riggs sent in a WIP patch to redefine SnapshotNow as a snapshot
type that includes a list of transactions-in-progress, somewhat like
an MVCC snapshot.

Gabriele Bartolini sent in a patch to add a "dry run" option '-n' to
pg_archivecleanup which performs a dry-run and outputs the names of
the files to be removed to stdout.

Robert Haas sent in another revision of the patch to reduce the
overhead of frequent table locks by locking less frequently.

Robert Haas sent in an update to the patch to allow for time-delayed

KaiGai Kohei sent in three more revisions of a patch intended to fix
certain types of information leaks in views.

Alexander Korotkov, Tom Lane and Heikki Linnakangas traded versions of
a patch to build GiST indexes faster.

Martin Pihlak sent in another revision of the patch for SSL with
non-blocking sockets.

KaiGai Kohei sent in another revision of a patch intended to
consolidate the DROP machinery into one spot.

Kevin Grittner sent in a patch to modularize some aspects of SSI with
respect to sequential scans.

Laurenz Albe and Shigeru HANADA traded patches to fix an issue in
file FDWs.

KaiGai Kohei sent in two revisions of a patch to fix some issues in
SECURITY LABELs on shared database objects, per review from Joe

Heikki Linnakangas sent in another WIP patch to do a latch-based
implementation of wakeup on postmaster death.

Jun Ishiduka sent in another revision of the patch to allow an online
base backup from a hot standby.

Noah Misch sent in another revision of a patch to avoid index rebuilds
for ALTER TABLE...ALTER TYPE that don't actually need to rewrite.

Josh Kupershmidt sent in another revision of the patch to make \dd
show constraint comments.

Hitoshi Harada sent in another revision of the patch to parameterize
aggregate subqueries.

KaiGai Kohei sent in another revision of the patch to create a
userspace access vector cache.

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: