== PostgreSQL Weekly News - February 22 2009 ==
Congratulations to Joshua Drake on the receipt of his passport. Jet
== PostgreSQL Product News ==
pgbouncer 1.3 released.
== PostgreSQL Tip of the Week ==
Use the pg_locks system view, combined with pg_stat_activity, to see
what current queries are being blocked by locks.
== PostgreSQL Jobs for February ==
== PostgreSQL Local ==
Ed Borasky will be speaking about Data Visualization at PDXPUG on
February 19, 2009, 7-9pm in Portland.
PostgreSQL will be at SCALE February 20-22, 2009 in Los Angeles.
Andreas 'ads' Scherbaum will be presenting a talk at Perl Workshop
2009 on February 25 in Frankfurt am Main, Germany.
The German PostgreSQL User Group will have a booth, 2 talks and a
workshop on the Linuxdays Chemnitz on March 14 and 15, 2009. More
information in German here:
PostgreSQL Conference, U.S. will be holding a PgDay at LinuxFest
Northwest (April 25/26th). The call for papers is out at
PGCon 2009 will be held 21-22 May 2009, in Ottawa at the University of
Ottawa. It will be preceded by two days of tutorials on 19-20 May
Save The Date: pgDay San Jose. Sunday, July 19th 2009 immediately
before OSCON. CfP, more info TBA!
PGCon Brazil will be take place October 23-24 2009 at Unicamp in
Campinas, Sao Paulo state.
== PostgreSQL in the News ==
Planet PostgreSQL: http://planet.postgresql.org/
PostgreSQL Weekly News is brought to you this week by David Fetter and
Submit news and announcements by Sunday at 3:00pm Pacific time.
Please send English language ones to david(at)fetter(dot)org, German language
to pwn(at)pgug(dot)de, Italian language to pwn(at)itpug(dot)org(dot)
== Applied Patches ==
Bruce Momjian committed:
- In pgsql/src/bin/pg_dump/pg_dump.c, uppercase keywords.
- In pgsql/src/bin/pg_dump/pg_dump.c, wrap some long queries.
- Add pg_dump --binary-upgrade flag to be used by binary upgrade
utilities. The new code allows transfer of dropped column
information to the upgraded server.
- In pgsql/src/bin/pg_dump/pg_dump.c, add missing newline.
- Have pg_dump/pg_dumpall --binary-upgrade restore frozenids for
relations and databases.
- Add --freeze option to vacuumdb.
Peter Eisentraut committed:
- Remove gettext trigger write_stderr(), which isn't used by PLs.
- In pgsql/src/pl/plpgsql/src/plpgsql.h, redefine _() to dgettext()
instead of gettext() so that it uses the plpgsql text domain,
instead of the postgres one (or whatever the default may be).
- Mark 3rd argument of validate_tupdesc_compat() for translation,
instead of marking up each instance separately.
- In pgsql/src/pl/plpgsql/src/nls.mk, add plpgsql_yyerror to gettext
- In pgsql/src/pl/plpgsql/src/scan.l, add _() calls for the argument
of plpgsql_yyerror() so it actually gets translated somehow.
- Message wordsmithing
- In pgsql/src/pl/plperl/nls.mk, remove croak and Perl_croak from
gettext triggers. While we could selectively mark up their
arguments for translation, the Perl xsubpp tool generates a bunch of
additional Perl_croak calls that we cannot control, so we'd be
creating a confusing mix of translated and untranslated messages of
a similar kind. This is something that might deserve a more
comprehensive solution later. Also remove _ from gettext triggers,
because it wasn't used. Use SPI.c instead of SPI.xs as source file
for xgettext, because the .xs format isn't really supported in
- In pgsql/src/Makefile.global.in, add an implicit rule %.c -> %.i for
running the C preprocessor. I occasionally use this for debugging,
and it seems wasteful to have to reinvent this all the time.
- Wordsmithing for PL/Perl messages
- In pgsql/src/pl/plperl/plperl.c, another small message tweak.
Heikki Linnakangas committed:
- Start background writer during archive recovery. Background writer
now performs its usual buffer cleaning duties during archive
recovery, and it's responsible for performing restartpoints. This
requires some changes in postmaster. When the startup process has
done all the initialization and is ready to start WAL redo, it
signals the postmaster to launch the background writer. The
postmaster is signaled again when the point in recovery is reached
where we know that the database is in consistent state. Postmaster
isn't interested in that at the moment, but that's the point where
we could let other backends in to perform read-only queries. The
postmaster is signaled third time when the recovery has ended, so
that postmaster knows that it's safe to start accepting connections.
The startup process now traps SIGTERM, and performs a "clean"
shutdown. If you do a fast shutdown during recovery, a shutdown
restartpoint is performed, like a shutdown checkpoint, and
postmaster kills the processes cleanly. You still have to continue
the recovery at next startup, though. Currently, the background
writer is only launched during archive recovery. We could launch it
during crash recovery as well, but it seems better to keep that
codepath as simple as possible, for the sake of robustness. And it
couldn't do any restartpoints during crash recovery anyway, so it
wouldn't be that useful. log_restartpoints is gone. Use
log_checkpoints instead. This is yet to be documented. This whole
operation is a pre-requisite for Hot Standby, but has some value of
its own whether the hot standby patch makes 8.4 or not. Simon
Riggs, with lots of modifications by me.
- In pgsql/src/include/storage/proc.h, increase NUM_AUXILIARY_PROCS,
now that the startup process can co-exist with other auxiliary
processes for a short period. As witnessed by buildfarm member
- In pgsql/src/backend/postmaster/postmaster.c, fix bogus comment,
from the patch to start bgwriter during archive recovery.
Tom Lane committed:
- Remove the special cases to prevent minus-zero results in float4 and
float8 unary minus operators. We weren't attempting to prevent
minus zero anywhere else; in view of our gradual trend to make the
float datatypes more IEEE standard compliant, we should allow minus
zero here rather than disallow it elsewhere. We don't, however,
expect that all platforms will produce minus zero, so we need to
adjust the one affected regression test to allow both results. Per
discussion of bug #4660. (In passing, clean up a couple other minor
infelicities in float.c.)
- In pgsql/src/backend/optimizer/path/joinrels.c, improve comments
about semijoin implementation strategy, per a question from Robert
- In pgsql/src/backend/optimizer/plan/initsplan.c, simplify
overcomplicated (and overly restrictive) test to see whether an IS
NULL condition is rendered redundant by detection of an antijoin.
If we know that a join is an antijoin, then *any* Var coming out of
its righthand side must be NULL, not only the joining column(s).
Also, it's still gonna be null after being passed up through higher
joins, whether they're outer joins or not. I was misled by a faulty
analogy to reduce_outer_joins() in the original coding. But
consider select * from a left join b on a.x = b.y where b.y is null
and b.z is null; The first IS NULL condition justifies deciding that
the join is an antijoin (if the = is strict) and then the second one
is just plain redundant.
- In pgsql/doc/src/sgml/config.sgml, add note that inlined SQL
functions aren't tracked by track_functions.
Andrew Dunstan committed:
- In pgsql/src/bin/pg_dump/pg_backup_archiver.c, reconnect to the
right database when using parallel restore with -C. Fixes bug
reported by Olivier Prenant
== Rejected Patches (for now) ==
No one was disappointed this week :-)
== Pending Patches ==
Teodor Sigaev sent in two variants of the GIN fast insert patch, then
a follow-up patch per feedback from Robert Haas.
Robert Haas sent in another revision of the patch to improve the
performance of multi-batchhash joins for skewed data sets.
Andrew Chernow sent in a patch which implements PQinitSecure in libpq
and a follow-up patch to fix a bug in the first one.
Heikki Linnakangas sent in a patch which makes the postmaster wait for
a startup process signal in particular before allowing general access.
ITAGAKI Takahiro sent in a patch to allow parse_bool* to take 'on' and
'off' as options.
KaiGai Kohei sent in another revision of his SE-PostgreSQL patches.
Adriano Lange sent in a patch to allow graph representation of
structures in the optimizer.
pgsql-announce by date
|Next:||From: Francisco Figueiredo Jr.||Date: 2009-02-24 05:57:54|
|Subject: Npgsql 2.0.3 released!|
|Previous:||From: David Fetter||Date: 2009-02-15 23:14:02|
|Subject: == PostgreSQL Weekly News - February 15 2009 ==|