== PostgreSQL Weekly News - May 16 2010 ==
Bug Fix Updates 8.4.4, 8.3.11, 8.2.17, 8.1.21, 8.0.25 and 7.4.29 will
be out soon. Get ready to upgrade!
Elections for the PostgreSQL EU board are happening until May 23, 2010.
Michael Renner will be speaking at Netways OSDC in Nuremberg, Germany,
which will be June 23-24, 2010.
PDXPUG Day will be July 18, 2010 at the Oregon Convention Center in
Portland, OR. For more information, see:
== PostgreSQL Product News ==
tail_n_mail 1.10.3, a Perl program for searching log files and
mailing the results, released.
neo_my2pg 0.8, a conversion utility from MySQL, released.
pgAdmin 1.10.3, a GUI management tool for PostgreSQL, released.
pgbouncer 1.3.3, a lightweight connection pooler for PostgreSQL, released.
pglesslog 1.4.1, a set of tools to reduce the size of WALs, released.
psycopg2 2.2.0, a Python connector for PostgreSQL, released.
== PostgreSQL 9.0 Feature of the Week ==
pg_ctl now has an initdb option.
== PostgreSQL Jobs for May ==
== PostgreSQL Local ==
PgCon 2010 will be held May 20-21 2010 in Ottawa with tutorials before
on the 18th and 19th.
Prague PostgreSQL Test Day will be May 21, 2010 in Prague, Czech Republic.
Registration for Open Source Bridge is open and talks are announced!
June 1-4, 2010 in Portland, Oregon.
Michael Renner will be speaking at AMOOCON, which goes from June 4-6, 2010.
SouthEast LinuxFest 2010 will take place in Spartanburg, SC USA on
June 11-13. PostgreSQL gurus Joshua Drake and Andrew Dunstan will be
giving some must-see PostgreSQL-related presentations.
OSCON will take place in Portland, Oregon July 19-23, 2010.
== PostgreSQL in the News ==
Planet PostgreSQL: http://planet.postgresql.org/
PostgreSQL Weekly News is brought to you this week by David Fetter
and Devrim GUNDUZ.
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) Spanish language
== Applied Patches ==
Tom Lane committed:
- In pgsql/src/backend/optimizer/plan/planagg.c, when adding a "target
IS NOT NULL" indexqual to the plan for an index-optimized MIN or
MAX, we must take care to insert the added qual in a legal place
among the existing indexquals, if any. The btree index AM requires
the quals to appear in index-column order. We didn't have to worry
about this before because "target IS NOT NULL" was just treated as a
plain scan filter condition; but as of 9.0 it can be an index qual
and then it has to follow the rule. Per report from Ian Barwick.
- In pgsql/src/backend/optimizer/prep/prepunion.c, fix incorrect patch
that removed permission checks on inheritance child tables --- the
parent table no longer got checked, either. Per bug #5458 from
- In pgsql/src/backend/postmaster/pgarch.c, cause the archiver process
to adopt new postgresql.conf settings (particularly archive_command)
as soon as possible, namely just before issuing a new call of
archive_command, even when there is a backlog of files to be
archived. The original coding would only absorb new settings after
clearing the backlog and returning to the outer loop. Per
discussion. Back-patch to 8.3. The logic in prior versions is a
bit different and it doesn't seem worth taking any risks of breaking
- Add PKST to the default set of timezone abbreviations. Per
discussion, if we have PKT in there then PKST should be too. Also,
fix mistaken claim that these abbrevs are not known to zic.
- Update time zone data files to tzdata release 2010j: DST law changes
in Argentina, Australian Antarctic, Bangladesh, Mexico, Morocco,
Pakistan, Palestine, Russia, Syria, Tunisia. Historical corrections
- Clean up unnecessary unportability and compiler warnings by removing
the cmp parameter for pg_scandir(). The code failed to support this
anyway for Sun/Windows, so pretending we could accept a parameter
other than NULL was just asking for trouble.
- Hook pg_upgrade into the contrib makefile structure so it gets built
on the buildfarm.
- Preliminary release notes for releases 8.4.4, 8.3.11, 8.2.17,
8.1.21, 8.0.25, 7.4.29.
- In pgsql/contrib/pg_upgrade_support/Makefile, fix wrong subdir. Per
- Use "TOAST table" in place of the vague, not-used-elsewhere phrase
"supplementary storage table".
- In pgsql/doc/src/sgml/rules.sgml, use an entity instead of non-ASCII
letter. Thom Brown.
- Fix up lame idea of not using autoconf to determine if platform has
scandir(). Should fix buildfarm failures.
- In pgsql/contrib/pg_upgrade/file.c, spell __darwin__ correctly, to
suppress compiler warning on OSX.
- In pg_upgrade, get rid of unsafe sprintf and snprintf usages. Per
- In pgsql/contrib/pg_upgrade/controldata.c, remove another unsafe use
of random data as a format string.
- In pgsql/contrib/pg_upgrade/info.c, fix another obvious bug pointed
out by a compiler warning.
- In pgsql/src/include/port.h, spell __NetBSD__ the same way
everywhere. Per Giles Lean.
- In pgsql/doc/src/sgml/ref/pg_restore.sgml, improve documentation of
pg_restore's -l and -L switches to point out their interactions with
filtering switches, such as -n and -t. Per a complaint from Russell
- Ensure that pg_restore -l will output DATABASE entries whether or
not -C is specified. Per bug report from Russell Smith and ensuing
discussion. Since this is a corner case behavioral change, I'm
going to be conservative and not back-patch it. In passing, also
rename the RestoreOptions field for the -C switch to something less
generic than "create".
ITAGAKI Takahiro committed:
- In pgsql/src/backend/catalog/pg_proc.c, set per-function GUC
settings during validating the function. Now validators work
properly even when the settings contain parameters that affect
behavior of the function, like search_path. Reported by Erwin
- In pgsql/src/backend/po/ja.po, remove CRs.
Robert Haas committed:
- In pgsql/doc/src/sgml/ref/cluster.sgml, mention related ALTER TABLE
variants in documentation for CLUSTER. As suggested by Andy Lester.
- In pgsql/src/include/utils/rbtree.h, change typedef for
rb_appendator to avoid conflict with C++ reserved words. Fixes a
complaint from src/tools/pginclude/cpluspluscheck reported by Peter
- In pgsql/src/backend/postmaster/postmaster.c, we now accept
read-only connections in state PM_RECOVERY_CONSISTENT.
- Rename PM_RECOVERY_CONSISTENT and PMSIGNAL_RECOVERY_CONSISTENT. The
new names PM_HOT_STANDBY and PMSIGNAL_BEGIN_HOT_STANDBY more
accurately reflect their actual function.
- In pgsql/doc/src/sgml/xfunc.sgml, fix longstanding typo in V1
calling conventions documentation. Erik Rijkers
- In pgsql/doc/src/sgml/xfunc.sgml, insert line breaks in two places
in SQL functions documentation. This avoids a formatting problem in
the PDF output. In the HTML output this isn't necessary, but we've
done similar things elsewhere in the documentation so I think it's
OK to do it here, too. I've refrained from breaking a longish error
message which also causes problems for the PDF output, because that
would make the HTML output look wrong. Erik Rijkers.
Bruce Momjian committed:
- Add pg_upgrade to /contrib; will be in 9.0 beta2. Add
documentation. Supports migration from PG 8.3 and 8.4.
- Add pgsql/contrib/pg_upgrade/TODO file to CVS.
- Add pgsql/contrib/pg_upgrade/IMPLEMENTATION file to CVS.
- In pgsql/contrib/pg_upgrade/info.c, small formatting adjustment.
- Add PGFILEDESC description to Makefiles for all /contrib
executables. Add PGAPPICON to all executable makefiles.
- Move pg_upgrade TODO to TODO wiki.
- In pgsql/src/backend/Makefile, remove Makefile PGFILEDESC tag that
the postmaster is an executable.
- In pgsql/src/backend/Makefile, update comment about why postmaster
doesn't get an icon.
- Move pg_upgrade shared library out into its own /contrib directory
- In pgsql/doc/src/sgml/release-9.0.sgml, update release notes to
- In pgsql/doc/src/sgml/release-9.0.sgml, fix HISTORY.html build using
</link>, not </>.
- In pgsql/doc/src/sgml/pgupgrade.sgml, comment out EnterpriseDB
Advanced Server mention in SGML docs.
- Remove all mentions of EnterpriseDB Advanced Server from pg_upgrade;
EDB must maintain their own patch set for this.
- Use NAMEDATALEN instead of local define. Modify path separators for
Win32. Per ideas from Takahiro Itagaki.
- In pgsql/contrib/pg_upgrade/file.c, change bsdi define to __bsdi__.
- Use __bsdi__ consistently.
- In pgsql/contrib/pg_upgrade/file.c, adjust pg_upgrade BSD defines
for scandir(), per report from Giles Lean.
Peter Eisentraut committed:
- Update config.guess and config.sub.
- Translation update
- Fix vpath installation from distribution tarball (bug #5447)
- In pgsql/src/nls-global.mk, avoid error from mkdir if no languages
are to be installed mkinstalldirs used to handle no arguments, but
mkdir doesn't. Also remove the .SILENT setting, that was previously
removed from Makefile.global as well.
- Translation update
Simon Riggs committed:
- In pgsql/src/backend/tcop/postgres.c, give most recovery conflict
errors a retryable error code. From recent requests and discussions
with Yeb Havinga and Kevin Grittner.
- Cleanup initialization of Hot Standby. Clarify working with
reanalysis of requirements and documentation on
LogStandbySnapshot(). Fixes two minor bugs reported by Tom Lane
that would lead to an incorrect snapshot after transaction
wraparound. Also fix two other problems discovered that would give
incorrect snapshots in certain cases. ProcArrayApplyRecoveryInfo()
substantially rewritten. Some minor refactoring of
xact_redo_apply() and ExpireTreeKnownAssignedTransactionIds().
- In pgsql/src/backend/access/transam/xact.c, ensure that top level
aborts call XLogSetAsyncCommit(). Not doing so simply leads to data
waiting in wal_buffers which then causes later commits to
potentially do emergency writes and for all forms of replication to
be potentially delayed without need or benefit. Issue pointed out
exactly by Fujii Masao, following bug report by Robert Haas on a
separate though related topic.
- Add many new Asserts in code and fix simple bug that slipped through
without them, related to previous commit. Report by Bruce Momjian.
- In pgsql/src/backend/access/transam/xlog.c, fix bug in processing of
checkpoint time for max_standby_delay. Latest log time was
incorrectly set, typically leading to dates in the past, which would
cause more cancellations in Hot Standby on a quiet server.
Andrew Dunstan committed:
- In pgsql/src/tools/msvc/Mkvcbuild.pm, add missing library and
include support for pg_upgrade to MSVC build system.
Magnus Hagander committed:
- Fix some spelling errors. Thom Brown.
- In pgsql/src/tools/msvc/Mkvcbuild.pm, properly support multi-line
entires (such as OBJS=) when building PROGRAM, not just MODULE, in
- Assorted fixes to make pg_upgrade build on MSVC. 1. There is no
chmod() on Windows. 2. Must always use the 3-parameter version of
open(). 3. There is no dynloader.h - but it also appears unnecessary
on all platforms. 4. Don't include shlobj.h because it causes compile
errors, and from what I can see it's not actually used. This may
need to be added back for mingw and/or cygwin in the worst case.
Marc Fournier committed:
- Tag 8.4.4, 8.3.11, 8.2.17, 8.1.21, 8.0.25, 7.4.29.
Heikki Linnakangas committed:
- In pgsql/contrib/pg_standby/pg_standby.c, fix typos in comments,
spotted by Josh Kupershmidt.
== Rejected Patches (for now) ==
Greg Sabino Mullane's patch to change pg_dump not to use CREATE OR
REPLACE LANGUAGE when talking to pre-9.0 databases. There never was a
guarantee that the output of pg_dump would be backward-compatible.
== Pending Patches ==
ITAGAKI Takahiro sent in a patch to change the search_path check for
function bodies to the current search_path, where they had been using
the one at create time.
Mike Fowler sent in a patch to add a function xpath_exists() for 9.1.
Alexander Korotkov sent in two revisions of a patch to make the
levenshtein distance function in contrib/fuzzystrmatch work with
multibyte character sets in 9.1.
Simon Riggs sent in a patch to change the startup code for Hot
Stephen Frost sent in a patch to add a handler for SIGCHLD to psql.
This is for 9.1.
Simon Riggs sent in a patch to add a keepalive message to ensure
max_standby_delay is useful. Heikki Linnakangas responded with one
which rearranges the walsender loops slightly so that XLogSend() now
only sends up to MAX_SEND_SIZE bytes (== XLOG_SEG_SIZE / 2) in one
round and returns to the main loop after that even if there's unsent
WAL, and the main loop no longer sleeps if there's unsent WAL. Simon
Riggs sent in another with wait processing cleanup.
Joachim Wieland sent in a patch to fix some locking behavior for 9.1
in the case of SERIALIZABLE transactions.
Robert Haas sent in a patch to implement a fix for smart shutdown in
pgsql-announce by date
|Next:||From: Tom Lane||Date: 2010-05-17 16:35:44|
|Subject: PostgreSQL 2010-05-17 Security Update Releases|
|Previous:||From: Guillaume Lelarge||Date: 2010-05-14 15:47:23|
|Subject: pgAdmin III v1.10.3 released|