Skip site navigation (1) Skip section navigation (2)

Fwd: [ANNOUNCE] == PostgreSQL Weekly News - November 12 2006 ==

From: Selena Deckelmann <selena(at)chrisking(dot)com>
To: pdxpug(at)postgresql(dot)org
Subject: Fwd: [ANNOUNCE] == PostgreSQL Weekly News - November 12 2006 ==
Date: 2006-11-13 16:17:39
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pdxpugpgsql-announce

Begin forwarded message:

From: David Fetter <david(at)fetter(dot)org>
Date: November 13, 2006 3:12:11 AM PST
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: [ANNOUNCE] == PostgreSQL Weekly News - November 12 2006 ==

== PostgreSQL Weekly News - November 12 2006 ==

PostgreSQL 8.2 beta3 released.  Test :)

Simon Riggs started a thread on -hackers about how to address the "hot
tables" issues.  He also put forth a design proposal.  Discussion

Lorenzo Alberton has put together a "cheat sheet" for PostgreSQL.

== PostgreSQL Product News ==

Nairo,, is a browser game system that runs on Apache, PHP4
and PostgreSQL 8.1.x or later.  This NairoGMS project is designed to
help people create their own browser games.  Watch the pgfoundry site
for updates.

Navicat PostgreSQL 7.2.8 for Windows released.

pgAdmin III v1.6 Release Candidate 2 released.

MicroOLAP PostgresDAC 2.3.6 released.'s Sequoia 3.0 Beta released. 

== PostgreSQL Jobs for November ==

== PostgreSQL Local ==

Everything this week was global.

== PostgreSQL in the News ==

Planet PostgreSQL:

General Bits, Archives and occasional new articles:

PostgreSQL Weekly News is brought to you this week by David Fetter
and Dave Page.

== Applied Patches ==

Tom Lane committed:

- Suppress a few 'uninitialized variable' warnings that gcc emits only
   at -O3 or higher (presumably because it inlines more things).  Per
   gripe from Mark Mielke.

- Fix pg_get_serial_sequence(), which could incorrectly return the
   name of an index on a serial column, rather than the name of the
   associated sequence.  Fallout from recent changes in dependency
   setup for serials.  Per bug #2732 from Basil Evseenko.

- Clean up some references which wrongly described %p as being a full
   path, per Simon Riggs.

- Improve formatting of PQexecParams argument descriptions, per Theo

- In create_function.sgml, emphasize that immutable and stable
   functions are not allowed to modify the database.  xfunc.sgml was
   already pretty definite on the point, but it doesn't hurt to make it
   clear here too.

- Fix errors in key_column_usage.position_in_unique_constraint column
   recently added to information_schema (per a SQL2003 addition).  The
   original coding failed if a referenced column participated in more
   than one pg_constraint entry.  Also, it did not work if an FK relied
   directly on a unique index without any constraint syntactic sugar.
   This case is outside the SQL spec, but PG has always supported it,
   so it's reasonable for our information_schema to handle it too.  Per
   bug#2750 from Stephen Haberman.

- Fix set_joinrel_size_estimates() to estimate outer-join sizes more
   accurately: we have to distinguish the effects of the join's own ON
   clauses from the effects of pushed-down clauses.  Failing to do so
   was a quick hack long ago, but it's time to be smarter.  Per example
   from Thomas Hallgren.

- Change Windows rename and unlink substitutes so that they time out
   after 30 seconds instead of retrying forever.  Also modify xlog.c so
   that if it fails to rename an old xlog segment up to a future slot,
   it will unlink the segment instead.  Per discussion of bug #2712, in
   which it became apparent that Windows can handle unlinking a file
   that's being held open, but not renaming it.

- Modify aset.c to track the next intended block allocation size
   explicitly.  The former coding relied on the actual allocated size
   of the last block, which made it behave strangely if the first
   allocation in a context was larger than ALLOC_CHUNK_LIMIT:
   subsequent allocations would be referenced to that and not to the
   intended series of block sizes.  Noted while studying a memory
   wastage gripe from Tatsuo Ishii.

- Tweak accumArrayResult() to double the size of its working arrays
   when more space is needed, instead of incrementing by a fixed
   amount; the old method wastes lots of space and time when the
   ultimate size is large.  Per gripe from Tatsuo Ishii.

- Fix performance issues in replace_text(), replace_text_regexp(), and
   text_to_array(): they all had O(N^2) behavior on long input strings
   in multibyte encodings, because of repeated rescanning of the input
   text to identify substrings whose positions/lengths were computed in
   characters instead of bytes.  Fix by tracking the current source
   position as a char pointer as well as a character-count.  Also avoid
   some unnecessary palloc operations.  text_to_array() also leaked
   memory intracall due to failure to pfree temporary strings.  Per
   gripe from Tatsuo Ishii.

- Repair bug #2694 concerning an ARRAY[] construct whose inputs are
   empty sub-arrays.  Per discussion, if all inputs are empty arrays
   then result must be an empty array too, whereas a mix of empty and
   nonempty arrays should (and already did) draw an error.  In the back
   branches, the construct was strict: any NULL input immediately
   yielded a NULL output; so I left that behavior alone.  HEAD was
   simply ignoring NULL sub-arrays, which doesn't seem very sensible.
   For lack of a better idea it now treats NULL sub-arrays the same as
   empty ones.

- Remove temporary Windows-specific debugging code; it seems the
   problem with fopen() not using FILE_SHARE_DELETE was indeed the bug
   we were after, given lack of recent reports.

- Update release notes in preparation for RC1.

- Revert to the pre-8.2 method of probing for libm, that is, always
   include it if it links properly.  It seems too risky to assume that
   standard functions like pow() are not special-cased by the compiler.
   Per report from Andreas Lange that build fails on Solaris cc
   compiler with -fast.  Even though we don't consider that a supported
   option, I'm worried that similar issues will arise with other

- Get rid of some unnecessary dependencies on DataDir: wherever
   possible, the backend should rely on its working-directory setting
   instead.  Also do some message-style police work in contrib/ 

- Back-patched PITR recovery fix (below) to 8.1.  Arguably this should
   be fixed in 8.0 too, but it would require significantly more code
   since 8.0 has no handy startup-time scan of pg_database to piggyback
   on.  Manual solution of the problem is possible in 8.0 (just delete
   the pg_internal.init files before starting WAL replay), so that may
   be a sufficient answer.

- Fix recently-identified PITR recovery hazard: the base backup could
   contain stale relcache init files (pg_internal.init), and there is
   no mechanism for updating them during WAL replay.  Easiest solution
   is just to delete the init files at conclusion of startup, and let
   the first backend started in each database take care of rebuilding
   the init file.  Simon Riggs and Tom Lane.

- Fix recently-understood problems with handling of XID freezing,
   particularly in PITR scenarios.  We now WAL-log the replacement of
   old XIDs with FrozenTransactionId, so that such replacement is
   guaranteed to propagate to PITR slave databases.  Also, rather than
   relying on hint-bit updates to be preserved, pg_clog is not
   truncated until all instances of an XID are known to have been
   replaced by FrozenTransactionId.  Add new GUC variables and
   pg_autovacuum columns to allow management of the freezing policy, so
   that users can trade off the size of pg_clog against the amount of
   freezing work done.  Revise the already-existing code that forces
   autovacuum of tables approaching the wraparound point to make it
   more bulletproof; also, revise the autovacuum logic so that
   anti-wraparound vacuuming is done per-table rather than
   per-database.  initdb forced because of changes in pg_class,
   pg_database, and pg_autovacuum catalogs.  Heikki Linnakangas, Simon
   Riggs, and Tom Lane.

Neil Conway committed:

- In GIN code, fix some typos in comments.

- Do a round of copy-editing for the system catalog chapter.  In
   particular, consistently capitalize the content of the "Description"
   column but do not include a terminating period, as is the convention
   elsewhere in the docs.  Also, remove the "References" column from
   catalog that do not have any referencing columns, for the sake of
   brevity.  Make various other SGML and grammar fixes.

- Minor improvements to the description of archive_timeout.

- Minor code cleanup for pgcrypto: for UDFs declared to be strict,
   checking for NULL-ness of function arguments is wasted code.

- Fix two typos in the tsearch2 README.

- Fix a memory leak in psql: we'd leak a few PGresult handles if a
   connectivity error occurred while executing one of the queries for
   "\d <table>".  Not serious, but still worth fixing.  Patch from
   Brendan Jurd.

- Remove a 15-year old comment questioning behavior that is now well-
   established: referencing an undefined parameter should result in an
   error, not NULL.

- Minor fix for LDAP authentication: if an error occurs, we need to
   manually release the LDAP handle via ldap_unbind().  This isn't a
   significant problem in practice because an error eventually results
   in exiting the process, but we can cleanup correctly without too
   much pain.  In passing, fix an error in snprintf() usage: the "size"
   parameter to snprintf() is the size of the destination buffer,
   including space for the NUL terminator.  Also, depending on the
   value of NAMEDATALEN, the old coding could have allowed for a buffer

Michael Meskes committed:

- In ecpg, applied patch by Peter Harris to free auto_mem structure on

Peter Sigaev committed:

- New README for tsearch2.

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Andrew Dunstan submitted a patch, the a follow-up patch, which is
designed to work around a potential problem where modules loaded by
PL/PerlU are visible to PL/Perl code.

Brendan Jurd sent in a patch which differentiates deactivated triggers
from activated ones in psql's \d.

Heikki Linnakangas sent in a patch destined for 8.3 intended to
optimize read access to CLUSTERed tables with narrow columns.

Brendan Jurd sent in a patch which changes Guillaume Lelarge's patch
to use IYYY and IDDD for ISO year and week formatting, respectively.

Magnus Hagander sent in a patch which updates the mingw FAQ for
current realities.

---------------------------(end of broadcast)---------------------------
-To unsubscribe from this list, send an email to:


In response to

pgsql-announce by date

Next:From: Marc G. FournierDate: 2006-11-14 05:24:03
Subject: Ignore this test ...
Previous:From: Ned LillyDate: 2006-11-13 15:47:58
Subject: OpenMFG 2.0: Postgres-powered ERP, now with CRM

pdxpug by date

Next:From: Selena DeckelmannDate: 2006-11-20 22:52:03
Subject: TOMORROW: Performance and Benchmarking with Mark
Previous:From: David FetterDate: 2006-11-13 11:12:11
Subject: == PostgreSQL Weekly News - November 12 2006 ==

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group