--- /dev/null
+<!-- BEGIN page_title_block -->
+Weekly News - August 30 2009
+<!-- END page_title_block -->
+
+<h1>PostgreSQL Weekly News - August 30 2009</h1>
+
+<p>
+8.5alpha1, the first ever PostgreSQL alpha release, is available for
+download. Release notes, general alpha information, and download
+are here:
+<a href="http://developer.postgresql.org/pgdocs/postgres/release-8.5.html">http://developer.postgresql.org/pgdocs/postgres/release-8.5.html</a>
+<a href="http://www.postgresql.org/developer/alpha">http://www.postgresql.org/developer/alpha</a>
+<a href="http://www.postgresql.org/ftp/source/8.5alpha1/">http://www.postgresql.org/ftp/source/8.5alpha1/</a>
+</p>
+
+<p>
+Andreas (ads) Scherbaum's book, PostgreSQL. Datenbankpraxis für
+Anwender, Administratoren und Entwickler, has been published.
+<a href="http://www.amazon.de/PostgreSQL-Datenbankpraxis-Anwender-Administratoren-Entwickler/dp/3937514694/">http://www.amazon.de/PostgreSQL-Datenbankpraxis-Anwender-Administratoren-Entwickler/dp/3937514694/</a>
+</p>
+
+<p>
+Bug fix releases 8.4.1, 8.3.8, 8.2.13, 8.1.17, 8.0.21 and 7.4.25 will
+be out soon. Get ready to upgrade!
+</p>
+
+<p>
+The talk deadline for JDCon has been extended to September 5. Get
+those talks in!
+<a href="http://www.postgresqlconference.org/">http://www.postgresqlconference.org/</a>
+</p>
+
+<h2>PostgreSQL Product News</h2>
+<p>
+once:radix version 1.5, a rapid application development system based
+on PostgreSQL 8.4, released.
+<a href="http://www.oncetechnologies.com/">http://www.oncetechnologies.com/</a>
+</p>
+
+<p>
+Benetl 3.0, an ETL tool for files using PostgreSQL, released.
+<a href="http://www.benetl.net">http://www.benetl.net</a>
+</p>
+
+<p>
+PostgreSQL Replicator 8.3.1-1.8, formerly known as Mammoth Replicator,
+released.
+<a href="http://projects.commandprompt.com/public/replicator">http://projects.commandprompt.com/public/replicator</a>
+</p>
+
+<p>
+pgpool-II 2.2.4, a connection pooler and more, released.
+<a href="http://pgfoundry.org/projects/pgpool/">http://pgfoundry.org/projects/pgpool/</a>
+</p>
+
+<h2>PostgreSQL Jobs for August</h2>
+<p>
+<a href="http://archives.postgresql.org/pgsql-jobs/2009-08/threads.php">http://archives.postgresql.org/pgsql-jobs/2009-08/threads.php</a>
+</p>
+
+<h2>PostgreSQL Local</h2>
+<p>
+PyCon Argentina will be in Beunos Aires on September 4-5 2009.
+<a href="http://ar.pycon.org/2009/">http://ar.pycon.org/2009/</a>
+</p>
+
+<p>
+SFPUG presents: Nathan Boley on Statistics and Postgres.
+September 8, 2009. Details including live webcast info below.
+<a href="http://postgresql.meetup.com/1/calendar/11030245/">http://postgresql.meetup.com/1/calendar/11030245/</a>
+</p>
+
+<p>
+Andreas (ads) Scherbaum will be teaching a "PostgreSQL for Corporate
+Use" course at the adult education center in Magdeburg, Germany on
+September 7-11, 2009. Details below:
+<a href="http://andreas.scherbaum.la/blog/archives/574-PostgreSQL-als-Bildungsurlaub.html">http://andreas.scherbaum.la/blog/archives/574-PostgreSQL-als-Bildungsurlaub.html</a>
+</p>
+
+<p>
+There will be a conference in Athens, Georgia, USA on September 19,
+2009. The CfP is open.
+<a href="http://www.postgresqlconference.org/2009/pgday/athens">http://www.postgresqlconference.org/2009/pgday/athens</a>
+</p>
+
+<p>
+There will be a conference in Seattle, Washington, USA October 16-18,
+2009. The CfP is still open.
+<a href="http://www.postgresqlconference.org/2009/west">http://www.postgresqlconference.org/2009/west</a>
+</p>
+
+<p>
+PGCon Brazil will be take place October 23-24 2009 at Unicamp in
+Campinas, Sao Paulo state. The CfP is open!
+<a href="http://pgcon.postgresql.org.br/2009/chamadas.en.php">http://pgcon.postgresql.org.br/2009/chamadas.en.php</a>
+</p>
+
+<p>
+PGDay.EU 2009 will be at Telecom ParisTech in Paris, France on
+November 6-7, 2009. The CfP is out. Submit!
+<a href="http://www.pgday.eu/">http://www.pgday.eu/</a>
+</p>
+
+<p>
+OpenSQL Camp in Portland is looking for sponsors. Make your travel plans now! :)
+<a href="http://www.chesnok.com/daily/2009/07/29/opensql-camp-comes-to-portland-november-14-15-2009/">http://www.chesnok.com/daily/2009/07/29/opensql-camp-comes-to-portland-november-14-15-2009/</a>
+</p>
+
+<p>
+JPUG 10th Anniversary Conference is November 20-21, 2009 in Tokyo, Japan.
+<a href="http://archives.postgresql.org/pgsql-announce/2009-05/msg00018.php">http://archives.postgresql.org/pgsql-announce/2009-05/msg00018.php</a>
+</p>
+
+<p>
+FOSDEM 2010 will be in Brussels on February 6-7, 2010.
+<a href="http://www.fosdem.org/">http://www.fosdem.org/</a>
+</p>
+
+<h2>PostgreSQL in the News</h2>
+<p>
+Planet PostgreSQL: <a href="http://planet.postgresql.org/">http://planet.postgresql.org/</a>
+</p>
+
+<p>
+PostgreSQL Weekly News is brought to you this week by David Fetter
+</p>
+
+<p>
+Submit news and announcements by Sunday at 3:00pm Pacific time.
+</p>
+
+<h2>Applied Patches</h2>
+<p>
+Tom Lane committed:
+</p>
+
+<p>
+- Run the "tablespace" regression test first not last. The former
+ placement renders useless one of the few test methodologies we have
+ for WAL replay, which is to intentionally crash the system just
+ after completing the regression tests and see if it recovers to the
+ expected database state. The reason is that DROP TABLESPACE forces
+ a checkpoint, so there's essentially no WAL available for replay
+ after the tests complete.
+</p>
+
+<p>
+- In pgsql/src/bin/psql/input.h, fix inclusions of readline/editline
+ header files so that we only attempt to #include the version of
+ history.h that is in the same directory as the readline.h we are
+ using. This avoids problems in some scenarios where both readline
+ and editline are installed. Report and patch by Zdenek Kotala.
+</p>
+
+<p>
+- In pgsql/src/backend/postmaster/postmaster.c, small correction to
+ previous patch: we shouldn't ReleasePostmasterChildSlot for a
+ dead_end child, because we didn't AssignPostmasterChildSlot.
+</p>
+
+<p>
+- Try to make silent_mode behave somewhat reasonably. Instead of
+ sending stdout/stderr to /dev/null after forking away from the
+ terminal, send them to postmaster.log within the data directory.
+ Since this opens the door to indefinite logfile bloat, recommend
+ even more strongly that log output be redirected when using
+ silent_mode. Move the postmaster's initial calls of load_hba() and
+ load_ident() down to after we have started the log collector, if we
+ are going to. This is so that errors reported by them will appear
+ in the "usual" place. Reclassify silent_mode as a LOGGING_WHERE,
+ not LOGGING_WHEN, parameter, since it's got absolutely nothing to do
+ with the latter category. In passing, fix some obsolete references
+ to -S ... this option hasn't had that switch letter for a long time.
+ Back-patch to 8.4, since as of 8.4 load_hba() and load_ident() are
+ more picky (and thus more likely to fail) than they used to be.
+ This entire change was driven by a complaint about those errors
+ disappearing into the bit bucket.
+</p>
+
+<p>
+- In pgsql/src/backend/utils/adt/geo_ops.c, remove some unnecessary
+ variable assignments, per results of "clang" static checker. Paul
+ Matthews.
+</p>
+
+<p>
+- Make it reasonably safe to use pg_ctl to start the postmaster from a
+ boot-time script. To do this, have pg_ctl pass down its parent
+ shell's PID in an environment variable PG_GRANDPARENT_PID, and teach
+ CreateLockFile() to disregard that PID as a false match if it finds
+ it in postmaster.pid. This allows us to cope with one level of
+ postgres-owned shell process even with pg_ctl in the way, so it's
+ just as safe as starting the postmaster directly. You still have to
+ be careful about how you write the initscript though. Adjust the
+ comments in contrib/start-scripts/ to not deprecate use of pg_ctl.
+ Also, fix the ROTATELOGS option in the OSX script, which was
+ indulging in exactly the sort of unsafe coding that renders this fix
+ pointless :-(. A pipe inside the "sudo" will probably result in
+ more than one postgres-owned process hanging around.
+</p>
+
+<p>
+- In pgsql/src/Makefile.shlib, make the .DEF file generation rules
+ safe against tabs in exports.txt. Per bug #5016, although I think
+ the MSVC build scripts may need a similar fix.
+</p>
+
+<p>
+- Modify the definition of window-function PARTITION BY and ORDER BY
+ clauses so that their elements are always taken as simple
+ expressions over the query's input columns. It originally seemed
+ like a good idea to make them act exactly like GROUP BY and ORDER
+ BY, right down to the SQL92-era behavior of accepting output column
+ names or numbers. However, that was not such a great idea, for two
+ reasons: 1. It permits circular references, as exhibited in bug
+ #5018: the output column could be the one containing the window
+ function itself. (We actually had a regression test case
+ illustrating this, but nobody thought twice about how confusing that
+ would be.) 2. It doesn't seem like a good idea for, eg, "lead(foo)
+ OVER (ORDER BY foo)" to potentially use two completely different
+ meanings for "foo". Accordingly, narrow down the behavior of window
+ clauses to use only the SQL99-compliant interpretation that the
+ expressions are simple expressions.
+</p>
+
+<p>
+- In pgsql/src/backend/postmaster/postmaster.c, non-Windows
+ EXEC_BACKEND path was broken by recent write_inheritable_socket
+ change ... it's got to return true.
+</p>
+
+<p>
+- Remove useless code that propagated FrontendProtocol to a backend
+ via a PostgresMain switch. In point of fact, FrontendProtocol is
+ already set in a backend process, since ProcessStartupPacket() is
+ executed inside the backend --- it hasn't been run by the postmaster
+ for many years. And if it were, we'd still certainly want
+ FrontendProtocol to be set before we get as far as PostgresMain, so
+ that startup errors get reported in the right protocol. -v might
+ have some future use in standalone backends, so I didn't go so far
+ as to remove the switch outright. Also, initialize FrontendProtocol
+ to 0 not PG_PROTOCOL_LATEST. The only likely result of presetting
+ it like that is to mask failure-to-set-it mistakes.
+</p>
+
+<p>
+- Remove the use of the pg_auth flat file for client authentication.
+ (That flat file is now completely useless, but removal will come
+ later.) To do this, postpone client authentication into the startup
+ transaction that's run by InitPostgres. We still collect the
+ startup packet and do SSL initialization (if needed) at the same
+ time we did before. The AuthenticationTimeout is applied separately
+ to startup packet collection and the actual authentication cycle.
+ (This is a bit annoying, since it means a couple extra syscalls; but
+ the signal handling requirements inside and outside a transaction
+ are sufficiently different that it seems best to treat the timeouts
+ as completely independent.) A small security disadvantage is that if
+ the given database name is invalid, this will be reported to the
+ client before any authentication happens. We could work around that
+ by connecting to database "postgres" instead, but consensus seems to
+ be that it's not worth introducing such surprising behavior.
+ Processing of all command-line switches and GUC options received
+ from the client is now postponed until after authentication. This
+ means that PostAuthDelay is much less useful than it used to be ---
+ if you need to investigate problems during InitPostgres you'll have
+ to set PreAuthDelay instead. However, allowing an unauthenticated
+ user to set any GUC options whatever seems a bit too risky, so we'll
+ live with that.
+</p>
+
+<p>
+- Remove duplicate variable initializations identified by clang static
+ checker. One of these represents a nontrivial bug (a
+ promptly-leaked palloc), so backpatch. Greg Stark
+</p>
+
+<p>
+- In pgsql/src/backend/utils/cache/relcache.c, remove some useless
+ assignments of the result of fread(). Quiets warnings from clang
+ static checker, and makes the code more readable anyway IMO.
+</p>
+
+<p>
+Alvaro Herrera committed:
+</p>
+
+<p>
+- In pgsql/src/bin/pg_dump/pg_backup_custom.c, remove unused variable.
+ Per Grzegorz Jaskiewicz's report from LLVM static checker.
+</p>
+
+<p>
+- Avoid calling kill() in a postmaster signal handler. This causes
+ problems when the system load is high, per report from Zdenek Kotala
+ in <1250860954.1239.114.camel@localhost>; instead of calling kill
+ directly, have the signal handler set a flag which is checked in
+ ServerLoop. This way, the handler can return before being called
+ again by a subsequent signal sent from the autovacuum launcher.
+ Also, increase the sleep in the launcher in this failure path to 1
+ second. Backpatch to 8.3, which is when the signalling between
+ autovacuum launcher/postmaster was introduced. Also, add a couple
+ of ReleasePostmasterChildSlot calls in error paths; this part
+ backpatched to 8.4 which is when the child slot stuff was
+ introduced.
+</p>
+
+<p>
+- Fix handling of autovacuum reloptions. In the original coding,
+ setting a single reloption would cause default values to be used for
+ all the other reloptions. This is a problem particularly for
+ autovacuum reloptions. Itagaki Takahiro
+</p>
+
+<p>
+Peter Eisentraut committed:
+</p>
+
+<p>
+- Make PL/Python tests more compatible with Python 3. This changes a
+ bunch of incidentially used constructs in the PL/Python regression
+ tests to equivalent constructs in cases where Python 3 no longer
+ supports the old syntax. Support for older Python versions is
+ unchanged.
+</p>
+
+<p>
+- Use generic attribute management in PL/Python. Switch the
+ implementation of the plan and result types to generic attribute
+ management, as described at <<a href="http://docs.python.org/extending/newtypes.html>.">http://docs.python.org/extending/newtypes.html>.</a>
+ This modernizes and simplifies the code a bit and prepares for
+ Python 3.1, where the old way doesn't work anymore.
+</p>
+
+<p>
+- Enhanced error context support in PL/Python. Extract the "while
+ creating return value" and "while modifying trigger row" parts of
+ some error messages into another layer of error context. This will
+ simplify the upcoming patch to improve data type support, but it can
+ stand on its own.
+</p>
+
+<p>
+- In pgsql/doc/src/sgml/stylesheet.css, update the documentation CSS
+ stylesheet to current web site style.
+</p>
+
+<p>
+- In pgsql/doc/src/sgml/stylesheet.css, correct my overly enthusiastic
+ CSS simplification.
+</p>
+
+<p>
+- In pgsql/src/backend/parser/Makefile, add -Wno-error to CFLAGS from
+ gram.o as long as it's broken.
+</p>
+
+<p>
+- Update of install-sh, mkinstalldirs, and associated configury.
+ Update install-sh to that from Autoconf 2.63, plus our
+ Darwin-specific changes (which I simplified a bit). install-sh is
+ now able to install multiple files in one run, so we could simplify
+ our makefiles sometime. install-sh also now has a -d option to
+ create directories, so we don't need mkinstalldirs anymore. Use
+ AC_PROG_MKDIR_P in configure.in, so we can use mkdir -p when
+ available instead of install-sh -d. For consistency with the rest
+ of the world, the corresponding make variable has been renamed from
+ $(mkinstalldirs) to $(MKDIR_P).
+</p>
+
+<p>
+- Derived files that are shipped in the distribution used to be built
+ in the source directory even for out-of-tree builds. They are now
+ also built in the build tree. This should be more convenient for
+ certain developers' workflows, and shouldn't really break anything
+ else.
+</p>
+
+<p>
+Bruce Momjian committed:
+</p>
+
+<p>
+- Update release notes for 7.4.26, 8.0.22, 8.1.18, 8.2.14, 8.3.8,
+ 8.4.1.
+</p>
+
+<p>
+- In pgsql/src/tools/pgcvslog, remove handling of CVS entries for
+ TODO/FAQ, because they are removed now.
+</p>
+
+<p>
+Heikki Linnakangas committed:
+</p>
+
+<p>
+- In pgsql/src/backend/access/transam/xlog.c, in the checkpoint
+ written at the end of archive recovery, the WAL page header was
+ incorrectly initialized with timeline ID 0. That rendered the WAL
+ page unrecoverable, making a subsequent archive recovery stop at
+ that point. ThisTimeLineID needs to be initialized before calling
+ AdvanceXLInsertBuffer(). This fixes bug #5011 reported by James
+ Bardin. Backpatch to 8.4, as the bug was introduced by the changes
+ to use of bgwriter for writing the end-of-archive-recovery
+ checkpoint. Patch by Tom Lane.
+</p>
+
+<p>
+Magnus Hagander committed:
+</p>
+
+<p>
+- In pgsql/src/interfaces/ecpg/compatlib/exports.txt, exports.txt
+ needs to use spaces as separators, not tabs, to work properly with
+ the sed rules.
+</p>
+
+<h2>Rejected Patches (for now)</h2>
+<p>
+No one was disappointed this week :-)
+</p>
+
+<h2>Pending Patches</h2>
+<p>
+Paul Matthews sent in another revision of the patch to implement
+hypot().
+</p>
+
+<p>
+Tom Lane sent in a WIP patch to move HBA validation after startup,
+which is intended to fix a problem reported by Andrew Dunstan with
+silent startup mode.
+</p>
+
+<p>
+Pavel Stehule sent in another revision of the patch to fix named/mixed
+notation.
+</p>
+
+<p>
+KaiGai Kohei sent in a patch to redo the access control facilities.
+</p>
+
+<p>
+Roger Leigh sent in an updated patch to allow psql to use Unicode
+formatting characters for pretty-printing.
+</p>
+
+<p>
+Alvaro Herrera sent in a WIP patch to allow for per-role, per-database
+default GUC settings.
+</p>
+
+<p>
+Andrew Dunstan sent in three revisions of a patch to make the output
+of the pretty print option for pg_get_viewdef() more readable.
+</p>
+
+<p>
+Kevin Grittner sent in two revisions of a LSB conforming launcher
+script.
+</p>
+
+<p>
+Grzegorz Jaskiewicz sent in a patch to fix some issues raised by the
+clang reports.
+</p>
+
+<p>
+Roger Leigh sent in another revision of the Unicode pretty-printing
+patch for psql.
+</p>
+
+<p>
+Pavel Stehule sent in a WIP patch to make cursor operations in
+PL/pgsql feature-complete and compatible with that in SQL.
+</p>
+
+<p>
+Robert Haas sent in another revision of the join removal patch.
+</p>
+
+<p>
+KaiGai Kohei sent in a patch which adds access control features to
+large objects.
+</p>
+
+<p>
+Paul Matthews sent in two more revisions of the hypot() patch.
+</p>
+
+<p>
+Greg Sabino Mullane sent in a patch to add YAML as an output format
+for EXPLAIN.
+</p>
+
+<p>
+Peter Eisentraut sent in a patch to log parameter changes.
+</p>
+
+<p>
+Jeff Janes sent in a patch to implement Simon Riggs' LWLock Queue
+Jumping idea.
+</p>
+
+<p>
+Petr (PJMODOS) Jelinek sent in another revision of the GRANT ON ALL IN
+schema patch.
+</p>
+
+<p>
+Marko (johto) Tiikkaja sent in a WIP patch to refactor the executor in
+preparation for making (INSERT|UPDATE|DELETE)...RETURNING work inside
+CTEs.
+
+</p>
+