Skip to content

Wöchentlicher PostgreSQL Newsletter - 29. Juli 2007

Der Originalartikel befindet sich unter:

== Wöchentlicher PostgreSQL Newsletter - 29. Juli 2007 ==

PostgreSQLs "Armee der Schlümpfe" war unterwegs zur OSCON 2007
und viele Leute kamen mit spezifischen Fragen im Gegensatz zum üblichen
"Warum nicht MySQL" der Vergangenheit. Ein großer Moment: der
Security Guard kommt rüber zum Stand und sagt: "ignorier dieses Abzeichen.
Ich habe Postgres auf einer Maschine installiert und möchte wissen, wie ich
es besser nutzen kann."

== PostgreSQL Produkt Neuigkeiten ==

Archiveopteryx 2.02 erschienen

== PostgreSQL Jobs im Juli ==

== PostgreSQL Lokal ==

Wie auf dem ersten Meeting der entstehenden Europäischen
PostgreSQL User Group nach dem PGDay in Prato diskutiert,
ist jetzt eine Mailingliste aufgesetzt.

== PostgreSQL in the News ==

Planet PostgreSQL:

General Bits, Archive und gelegentliche News Artikel:

Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David

Sende Neuigkeiten und Ankündigungen bis Sonntag, 15 Uhr Pazifischer
Zeit. Bitte sende englische Beiträge an, deutsche an
== Angewandte Patches ==

Peter Eisentraut committed:

- In pgsql/doc/src/sgml/datatype.sgml, update standards conformance
information about the bigint type. Found by Michael Glaesemann.

Michael Meskes committed:

- Synced ECPG parser.

Neil Conway committed:

- In pgsql/src/backend/executor/execUtils.c, slightly refactor
ExecOpenScanRelation(): we can use ExecRelationIsTargetRelation() to
check if the relation is a target rel, rather than scanning through
the result relation array ourselves.

- Implement RETURN QUERY for PL/PgSQL. This provides some convenient
syntax sugar for PL/PgSQL set-returning functions that want to
return the result of evaluating a query; it should also be more
efficient than repeated RETURN NEXT statements. Based on an earlier
patch from Pavel Stehule.

Tom Lane committed:

- Remove FileUnlink(), which wasn't being used anywhere and interacted
poorly with the recent patch to log temp file sizes at removal time.
Doesn't seem worth fixing since it's unused. In passing, make a few
elog messages conform to the message style guide.

- Arrange to put TOAST tables belonging to temporary tables into
special schemas named pg_toast_temp_nnn, alongside the pg_temp_nnn
schemas used for the temp tables themselves. This allows low-level
code such as the relcache to recognize that these tables are indeed
temporary, which enables various optimizations such as not
WAL-logging changes and using local rather than shared buffers for
access. Aside from obvious performance benefits, this provides a
solution to bug #3483, in which other backends unexpectedly held
open file references to temporary tables. The scheme preserves the
property that TOAST tables are not in any schema that's normally in
the search path, so they don't conflict with user table names.
initdb forced because of changes in system view definitions.

- Suppress warning when compiling with -DPROFILE_PID_DIR: sys/stat.h
is supposed to be included when using mkdir().

- Adjust horology test to avoid join-plan-dependent result ordering in
a few queries. Should fix buildfarm failures arising from new, more
aggressive autovac settings.

- In pgsql/src/backend/optimizer/util/predtest.c, fix
predicate-proving logic to cope with binary-compatibility cases when
checking whether an IS NULL/IS NOT NULL clause is implied or refuted
by a strict function. Per example from Dawid Kuroczko. Backpatch
to 8.2 since this is arguably a performance bug.

- Create a new dedicated Postgres process, "wal writer", which exists
to write and fsync WAL at convenient intervals. For the moment it
just tries to offload this work from backends, but soon it will be
responsible for guaranteeing a maximum delay before
asynchronously-committed transactions will be flushed to disk. This
is a portion of Simon Riggs' async-commit patch, committed to CVS
separately because a background WAL writer seems like it might be a
good idea independently of the async-commit feature. I rebased
walwriter.c on bgwriter.c because it seemed like a more appropriate
way of handling signals; while the startup/shutdown logic in
postmaster.c is more like autovac because we want walwriter to quit
before we start the shutdown checkpoint.

- Just noticed that libpq thinks the maximum command tag length is 40,
whereas in the backend it's been 64 for some time. Hasn't mattered
because no actual tags exceed 40 bytes, but for consistency they
should be alike.

Alvaro Herrera committed:

- Set a default autovacuum vacuum_cost_delay value of 20ms, to avoid
excessive I/O utilization, per discussion. While at it, lower the
autovacuum vacuum and analyze threshold values to 50 tuples. It is
a bit higher (i.e. more conservative) than what I originally
proposed but much better than the old values for small tables.

- Reword paragraph about the autovacuum_max_workers setting. Patch
from Jim Nasby.

Magnus Hagander committed:

- Rename DLLIMPORT macro to PGDLLIMPORT to avoid conflict with third
party includes (like tcl) that define DLLIMPORT.

- Hiroshi Saito's fix to pgsql/src/interfaces/libpq/win32.mak, the
standalone win32 makefile (MSVC6) for SSPI and GSSAPI.

- In pgsql/src/tools/msvc/, disable warning 4090 = different
const qualifiers on msvc since it warns about things that aren't

- In pgsql/src/pl/plperl/GNUmakefile, silence compiler warning on

- In pgsql/src/backend/libpq/pqcomm.c, silence compiler warning on

- Make it possible, and default, for MingW to build with SSPI support
by dynamically loading the function that's missing from the MingW
headers and library.

- The proper guaranteed buffer size for errors is
proper fix in HEAD is to use PQExpBuffers everywhere.

- Use PQExpBuffer for error message in fe-auth.c. In passing, change
functions that passedin both PGconn and parts of it to just pass in
the PGconn.

- Fix typo in pgsql/src/interfaces/libpq/fe-auth.c.

- SSPI authentication on Windows.

== Abgelehnte Patches (bis jetzt) ==

No one was disappointed this week :-)

== Eingesandte Patches ==

Andrew Dunstan sent in a patch to enable logging of start time/cookie
for all backend processes.

Gregory Stark sent in a patch which documents and removes some dead
code in pgsql/src/backend/access/heap/tuptoaster.c which resulted from
the varvarlena patch.

Erwin Brandstetter suggested a patch which changes the GRANT docs to
reflect current realities.

Gregory Stark sent in a patch which fixes some misalignments from a
pg_indent run.

Simon Riggs sent in a patch which simplifies the stats_ parameters.

Zdenek Kotala sent in a patch to pgcrypto which fixes two problems on
systems, like the default Solaris 10 installation, without strong
encryption. Per discussion at


No Trackbacks


Display comments as Linear | Threaded

No comments

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.
Form options