== Postgres Weekly News - January 20 2008 ==
PostgreSQL has won Developer.com's Product of the Year 2008.
http://www.developer.com/design/article.php/10925_3721761_1
IT-PUG has signed an open letter to the Italian Ministry
http://www.gabrielebartolini.it/blog/index.php?/archives/40-IT-PUG-signs-a-letter-to-the-Italian-Ministry.html
== Postgres Product News ==
DBD::Pg 2.0.0_5 (RC5) released.
http://search.cpan.org/~dbdpg/DBD-Pg/Pg.pm
PGCluster-1.5.0rc17 released.
http://pgfoundry.org/projects/pgcluster/
pg_proboscis 0.9.3 released.
http://pgfoundry.org/projects/python/
IT-PUG has created a documentation search plugin for Firefox.
http://www.itpug.org/index.en.html
Visual SQL Builder Pre-Alpha 0.3 released, and needs contributors and testers.
http://sourceforge.net/projects/vsqlbuilder
== Postgres Jobs for January ==
http://archives.postgresql.org/pgsql-jobs/2008-01/threads.php
== Postgres Local ==
NYPUG's first meeting will be at the Skylight Diner
http://skylightdinernyc.com/ January 22 7:30pm
RSVP to josh <AT> postgresql.org.
The European PostgreSQL User Group will elect a new board of
directors. If you want to suggest a candidate or for the voting rules
look at:
http://www.pgug.eu/election.txt
What's new in PostgreSQL 8.3 - Breakfast with Bruce Momjian
24th January 2008 - London. Email below to get in.
info.emea <AT> enterprisedb.com
Prague PostgreSQL Developers' Day 2008 will be on February 13th.
http://www.dbsvet.cz/view.php?cisloclanku=2008011101
PGCon 2008 will be May 20-23 in Ottawa - now accepting proposals.
http://www.pgcon.org/2008/papers.php
The BSD and PostgreSQL teams share a developer room at FOSDEM 2008 in
Brussels February 23-34, 2008. If you want to give a talk or help
managing the dev room, contact fosdem@pgug.eu. For more information,
see:
https://www.bsdwiki.de/FOSDEM_2008
PostgreSQL Conference East '08 talks are March 29 and 30 at the
University of Maryland, College Park. The Call for Papers is open.
http://www.postgresqlconference.org/
FISL 9.0 will be happening April 17-19, 2008 at PUCRS in Porto Alegre,
Brazil.
https://fisl.softwarelivre.org/9.0/
== Postgres in the News ==
Planet PostgreSQL: http://www.planetpostgresql.org/
General Bits, Archives and occasional new articles:
http://www.varlena.com/GeneralBits/
Postgres Weekly News is brought to you this week by David Fetter
and Robert Treat.
Submit news and announcements by Sunday at 3:00pm Pacific time.
Please send English language ones to david@fetter.org, German language
to pwn@pgug.de, Italian language to pwn@itpug.org.
== Applied Patches ==
Michael Meskes committed:
- In ecpg, set valid return values even in case of an error to prevent
segfaults.
- In ecpg, re-enabled variables in fetch/move command.
Alvaro Herrera committed:
- In pgsql/src/backend/postmaster/autovacuum.c, mark autovacuum
entries in pg_stat_activity so that they can be easily distinguished
from user-invoked commands. Per suggestion from Tom Lane.
- In pgsql/src/backend/postmaster/autovacuum.c, backpatch my fix of
rev 1.48 to avoid a division-by-zero error in the cost-limit vacuum
code. Per trouble report from Joshua Drake.
Tom Lane committed:
- Fix an ancient oversight in libpq's handling of V3-protocol COPY OUT
mode: we need to be able to swallow NOTICE messages, and potentially
also ParameterStatus messages (although the latter would be a bit
weird), without exiting COPY OUT state. Fix it, and adjust the
protocol documentation to emphasize the need for this. Per off-list
report from Alexander Galler.
- In pgsql/src/backend/utils/misc/guc.c, avoid cluttering the
postmaster log with bogus complaints during transaction abort, per
my note from a couple days ago.
- In pgsql/src/bin/pg_dump/pg_backup_archiver.c, prevent pg_dump from
dumping the comment (if any) on the 'public' schema. This is to
avoid uselessly requiring superuser permissions to restore the dump
without errors. Pretty grotty, but no better alternative seems
available, at least not in the near term.
- In pgsql/doc/src/sgml/errcodes.sgml, somebody forgot to add the "NOT
AN XML DOCUMENT" ERRCODE everywhere it should go ...
- In pgsql/src/backend/tsearch/wparser.c, tweak new error message to
conform to style guidelines.
- Revise memory management for libxml calls. Instead of keeping
libxml's data in whichever context happens to be current during a
call of an xml.c function, use a dedicated context that will not go
away until we explicitly delete it (which we do at transaction end
or subtransaction abort). This makes recovery after an error much
simpler --- we don't have to individually delete the data structures
created by libxml. Also, we need to initialize and cleanup libxml
only once per transaction (if there's no error) instead of once per
function call, so it should be a bit faster. We'll need to keep an
eye out for intra-transaction memory leaks, though. Alvaro and Tom.
- In pgsql/src/backend/commands/cluster.c, prevent CLUSTER from
decreasing a relation's relfrozenxid. Bug introduced in rewrite to
make CLUSTER MVCC-safe.
- Be less wishy-washy in the documentation and comments about whether
a ParameterStatus message can be sent during COPY OUT: it's
definitely possible, since COPY from a SELECT subquery can trigger
any user-defined function.
- In pgsql/contrib/start-scripts/osx/PostgreSQL, remove inappropriate
cd commands, per David Wheeler. Also make the PATH responsive to
the installation prefix, which was the apparent intent of the
previous edit, but not well executed.
- Fix ALTER INDEX RENAME so that if the index belongs to a unique or
primary key constraint, the constraint is renamed as well. This
avoids inconsistent situations that could confuse pg_dump (not to
mention humans). We might at some point provide ALTER TABLE RENAME
CONSTRAINT as a more general solution, but there seems no reason not
to allow doing it this way too. Per bug #3854 and related
discussions.
- Fix pgsql/src/backend/optimizer/plan/subselect.c to avoid assuming
that a SubLink's testexpr references each subquery output column
exactly once left-to-right. Although this is the case in the
original parser output, it might not be so after rewriting and
constant-folding, as illustrated by bug #3882 from Jan Mate.
Instead scan the subquery's target list to obtain needed per-column
information; this is duplicative of what the parser did, but only a
couple dozen lines need be copied, and we can clean up a couple of
notational uglinesses. Bug was introduced in 8.2 as part of
revision of SubLink representation.
- Insert into getCopyDataMessage() the same logic that already existed
in the main code path for enlarging libpq's input buffer in one
swoop when needing to read a long data message. Without this, the
code will double the buffer size, read more data, notice it still
hasn't got the whole message, and repeat till it finally has a large
enough buffer. Which wastes a lot of data-moving effort and also
memory (since malloc probably can't do anything very useful with the
freed-up smaller buffers). Not sure why this wasn't there already;
certainly the COPY data path is a place where we're quite likely to
see long data messages. I'm not backpatching though, since this is
just a marginal performance issue rather than a real bug.
- In pgsql/src/test/regress/pg_regress.c, make pg_regress clean out
the testtablespace directory only on Windows. On other platforms
it's better to let the Makefile handle it, but we want the
regression tests to be invokable without make on Windows. A batch
file would be a better solution, but no time for that before 8.3.
Per my discovery that this breaks testing under SELinux, and
subsequent discussion.
Bruce Momjian committed:
- Add to TODO: "Add the ability to automatically create materialized
views. Right now materialized views require the user to create
triggers on the main table to keep the summary table current. SQL
syntax should be able to manager the triggers and summary table
automatically. A more sophisticated implementation would
automatically retrieve from the summary table when the main table is
referenced, if possible."
- In FAQ, most recent Postgres version is 8.2.6, per report from
Robert Treat.
- Improve usage message for pgindent.
- Update Japanese FAQ. Jun Kuwamura.
- Stamp release for 8.3RC2; configure will be stamped by packager.
Teodor Sigaev committed:
- In pgsql/src/backend/tsearch/wparser.c, add check of headline method
presence. Per report by Yoshiyuki Asaba.
- In pgsql/src/backend/tsearch/spell.c, fix core dump with
buffer-overrun from too-long infinitive. Add checking of using
fixed length arrays to prevent array's overrun. Per report by
Hannes Dorbath and comments by Tom Lane.
Andrew Dunstan committed:
- Document the fact that COPY always uses the client encoding.
Magnus Hagander committed:
- In pgsql/doc/src/sgml/pgcrypto.sgml, typo fix per Erik Rijkers.
- Marko Kreen's updates to pgsql/doc/src/sgml/pgcrypto.sgml which
touch on SHA1, SHA224, SHA256, SHA384 and SHA512 encryption and
change references to RFC 2440 to RFC 4880.
Marc Fournier committed:
- must commit after autoconf ... and yes, I used the right autoconf
== Rejected Patches (for now) ==
No one was disappointed this week :-)
== Pending Patches ==
Tom Lane sent in a revision of Alvaro Herrera's XML memory allocation
patch.