== PostgreSQL Weekly News - November 26 2006 == - Mailing list pgsql-announce

From David Fetter
Subject == PostgreSQL Weekly News - November 26 2006 ==
Date
Msg-id 20061127070130.GK722@fetter.org
Whole thread Raw
List pgsql-announce
== PostgreSQL Weekly News - November 26 2006 ==

Devrim GUNDUZ is creating the backward compatible libpq RPMs in
anticipation of the 8.2 release.
http://developer.postgresql.org/~devrim/rpms/compat-4/

== PostgreSQL Product News ==

Archiveopteryx 1.13 released.
http://www.archiveopteryx.org/

HiRA hierarchical system released.
http://www.fuzzy.cz/databaze/index-en.php

O3Spaces, a Sharepoint-like utility for OOo based on PostgreSQL,
released.
http://o3spaces.org/

Greenplum Database (formerly Bizgres MPP) 2.3 released.
http://www.greenplum.com/

Lightning Admin for PostgreSQL 1.3.4 build 1 released.
http://www.amsoftwaredesign.com

== PostgreSQL Jobs for November ==

http://archives.postgresql.org/pgsql-jobs/2006-11/threads.php

== PostgreSQL Local ==

Markus Schaber will be speaking on /dev/radio on Sunday, December
10th, 1:00pm to 3:00pm on FreeFM.  Participate "on air" via telephone
and "online" via IRC.
The talk:   http://ulm.ccc.de/dev/radio/detail?id=74
/dev/radio: http://ulm.ccc.de/dev/radio/
FreeFM:     http://www.freefm.de/

Linux.conf.au is happening January 15th - 20th, 2007 University of New
South Wales, Sydney, Australia.  Email Gavin Sherry (gavin at
alcove.com.au) to participate in the PostgreSQL miniconf.
http://lca2007.linux.org.au/Miniconfs/PostgreSQL

== PostgreSQL in the News ==

Planet PostgreSQL: http://www.planetpostgresql.org/

General Bits, Archives and occasional new articles:
http://www.varlena.com/GeneralBits/

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

== Applied Patches ==

Andrew Dunstan committed:

- In PL/Perl, remove duplicate declaration, per report from Magnus
  Hagander.

Tom Lane committed:

- Make pg_restore usage examples more useful: illustrate restoring
  into both the same database name and a different one.

- Update release notes for RC1.

- Fix psql's \copy command to ensure that it cycles libpq back to the
  idle state (in particular, causing the ReadyForQuery message to be
  eaten) before returning from do_copy.  The only known consequence of
  failing to do so is that get_prompt might show a wrong result for
  the %x transaction status escape, as reported by Bernd Helmle; but
  it's possible there are other issues.  Back-patch as far as 7.4, the
  oldest version supporting %x.

- Change pg_stat_all_tables and sister views to put the recently-added
  vacuum/analyze timestamp columns at the end, rather than at a random
  spot in the middle as in the original patch.  This was deemed more
  usable as well as less likely to break existing application code.
  initdb forced accordingly.  In passing, remove former kluge for
  initializing pg_stat_file()'s pg_proc entry --- bootstrap mode was
  fixed recently so that this can be done without any hacks, but I
  overlooked this usage.

- Make contrib/isn pass the opr_sanity sanity checks: add missing
  commutator operators, and mark hash-opclass members as oprcanhash.
  This is a pretty ugly, brute-force solution, but it seems that
  getting rid of all these redundant-looking operators would require
  some tweaks in the core operator-resolution code to behave nicely,
  and I'm not willing to risk that just before RC1.

- Un-break ecpg regression test.

- Several changes to reduce the probability of running out of memory
  during AbortTransaction, which would lead to recursion and eventual
  PANIC exit as illustrated in recent report from Jeff Davis.  First,
  in xact.c create a special dedicated memory context for
  AbortTransaction to run in.  This solves the problem as long as
  AbortTransaction doesn't need more than 32K (or whatever other size
  we create the context with).  But in corner cases it might.  Second,
  in trigger.c arrange to keep pending after-trigger event records in
  separate contexts that can be freed near the beginning of
  AbortTransaction, rather than having them persist until
  CleanupTransaction as before.  Third, in portalmem.c arrange to free
  executor state data earlier as well.  These two changes should
  result in backing off the out-of-memory condition before
  AbortTransaction needs any significant amount of memory, at least in
  typical cases such as memory overrun due to too many trigger events
  or too big an executor hash table.  And all the same for
  subtransaction abort too, of course.

- Fix 1-byte buffer overrun when OID exceeds 1 billion.  This probably
  can't cause any serious harm in normal cases, but if you have gcc
  buffer overrun checking turned on, that will notice.  Found by Jack
  Orenstein.  Problem was already fixed in CVS HEAD.

- Prevent intratransaction memory leak when a subtransaction is
  aborted in the middle of executing a SPI query.  This doesn't
  entirely fix the problem of memory leakage in plpgsql exception
  handling, but it should get rid of the lion's share of leakage.

- Suppress timezone (%Z) part of timestamp display when running on
  Windows, because on that platform strftime produces localized zone
  names in varying encodings.  Even though it's only in a comment,
  this can cause encoding errors when reloading the dump script.  Per
  suggestion from Andreas Seltenreich.  Also, suppress %Z on Windows
  in the %s escape of log_line_prefix ... not sure why this one is
  different from the other two, but it shouldn't be.

- Fix plpython to work (or at least pass its regression tests) with
  python 2.5.  This involves fixing several violations of the
  published spec for creating PyTypeObjects, and adding another
  regression test expected output for yet another variation of error
  message spelling.

- On systems that have setsid(2) (which should be just about
  everything except Windows), arrange for each postmaster child
  process to be its own process group leader, and deliver signals
  SIGINT, SIGTERM, SIGQUIT to the whole process group not only the
  direct child process.  This provides saner behavior for archive and
  recovery scripts; in particular, it's possible to shut down a
  warm-standby recovery server using "pg_ctl stop -m immediate", since
  delivery of SIGQUIT to the startup subprocess will result in killing
  the waiting recovery_command.  Also, this makes Query Cancel and
  statement_timeout apply to scripts being run from backends via
  system().  (There is no support in the core backend for that, but
  it's widely done using untrusted PLs.)  Per gripe from Stephen
  Harris and subsequent discussion.

- If SSL negotiation fails and SSLMODE is 'prefer', then retry without
  SSL.  Negotiation failure is only likely to happen if one side or
  the other is misconfigured, eg. bad client certificate.  I'm not
  100% convinced that a retry is really the best thing, hence not
  back-patching this fix for now.  Per gripe from Sergio Cinos.

- Change the default setting for log_min_error_statement to ERROR.
  Per recent discussion in which majority opinion was that this is a
  more widely useful setting than the previous default of PANIC.

- Adjust elog.c so that elog(FATAL) exits (including cases where ERROR
  is promoted to FATAL) end in exit(1) not exit(0).  Then change the
  postmaster to allow exit(1) without a system-wide panic, but not for
  the startup subprocess or the bgwriter.  There were a couple of
  places that were using exit(1) to deliberately force a system-wide
  panic; adjust these to be exit(2) instead.  This fixes the problem
  noted back in July that if the startup process exits with
  elog(ERROR), the postmaster would think everything is hunky-dory and
  proceed to start up.  Alternative solutions such as trying to run
  the entire startup process as a critical section seem less clean,
  primarily because of the fact that a fair amount of startup code is
  shared by all postmaster children in the EXEC_BACKEND case.  We'd
  need an ugly special case somewhere near the head of main.c to make
  it work if it's the child process's responsibility to determine what
  happens; and what's the point when the postmaster already treats
  different children differently?


- More MSVC build fixes: New versions of OpenSSL come with proper
  debug versions, and use suffixed names on the LIBs for that. Adapts
  library handling to deal with that. Fixes error where it incorrectly
  enabled Kerberos based on NLS configuration instead of Kerberos
  configuration. Specifies path of perl in config, instead of using
  current one.  Required when using a 64-bit perl normally, but want
  to build pl/perl against 32-bit one (required).  Fix so pgevent
  generates win32ver.rc automatically.  Per Magnus Hagander.

Bruce Momjian committed:

- In pgsql/src/tools/fsync/test_fsync.c, Copy fsync() defines into
  test_fsync.c, someday place them in an include.  Propery align for
  O_DIRECT.  Check for write()/fsync() failures.

- Document that to_char() "TM" is controlled by lc_messages.

- In TODO, update wording to "Add a field 'isoyear' to extract(),
  based on the ISO week."

- Document that Kerberos is for authentication, and does not encrypt
  data or queries over the network.

- Walter Cruz's update of lock comments in src/include/storage/lock.h
  for concurrent index creation and analyze.

- Add "Add ISO day of week format 'ID' to to_char() where Monday = 1"
  and "Add an ISO year field to extract() called 'isoyear'" to TODO
  list.

- Add "Allow SQL-language functions to return results from RETURNING
  queries" to TODO list.

- Make ecpg test variable 'times' static so as not to conflict with
  libc symbol.

- Add "(assuming <varname>standard_conforming_strings</> is
  <literal>off</>)" clauses for bytea.

- Marc Munro's patch  against xfunc.sgml, adds a new subsection
  33.9.12, Shared Memory and LWLocks in C-Language Functions,
  describing how shared memory and lwlocks may be requested by C
  add-in functions.

- Add release entry for 8.1.5 that was missing.

- More HA wording improvements.

- Update HA docs with more wording improvements.

- Wording and term clarification for HA docs, per Markus Schiltknecht.

- Mention OIDs are now not created by default.

- New async/sync multi-master headings for docs.

- Add mention of shared-memory/disk for multi-master clustering.

- HA doc wording improvement.

- Mention pgpool-II can do Clustering For Parallel Query Execution.

- Update Statement-Based Replication Middleware docs to be more
  general.

- In HA/load balancing docs: Clarify sync/async replication
  propogation delay issues.  Add SGML comment about Oracle RAC and
  remove doc mention.  Add item about Multi-master replication with
  conflict resolution.

- Move libpq environment reference in psql documentation to a more
  appropriate place, per Andrew Dunstan.

- Mention that identifiers not in lower case need to be quoted.

- Simon Riggs's patch which merges the partitioning docs' two
  "caveats" sections into one.

- Retitle documentation section, "Statement-Based Replication Using
  Middleware".

- Add mention that Shared Disk Failover can use file system mirroring
  if the mirroring is consistent.

- Euler Taveira de Oliveira's update to the Brazilian FAQ.

- For to_char() day/month abbrevitions, mention "3 chars in English,
  localized lengths vary".

- Updates to the MingW FAQ: we want to direct MSI downloads to main
  download site, NT4 not supported anymore, msvc build env in
  progress, pgsql-hackers-win32 is no more.

- Update documentation to use Statement-Based Replication rather than
  Query Broadcast.

Teodor Sigaev committed:

- In pgsql/contrib/tsearch2/ispell/spell.c, fix lowercasing while
  parsing OO dictionary.

- In pgsql/contrib/tsearch2/rank.c, avoid calculations that may result
  in a zero divide in rank_cd.

- In pgsql/contrib/tsearch2/ispell/regis.c, fix type in return value.

- In tsearch2, fix bug
  http://archives.postgresql.org/pgsql-bugs/2006-10/msg00258.php.  Fix
  string length calculation for recoding, fix strlower() to avoid
  wrong assumption about the length of recoded strings, which was that
  a recoded string is no longer than its source.  This is not always
  true for multibyte encodings.  Per Thomas H. and Magnus Hagander.

Neil Conway committed:

- Cosmetic release note fix.

- Spelling and related minor fixes for the GIN docs.

- More minor SGML improvements for xfunc.sgml, including making some
  titles more concise. (We usually don't need to repeat the name of a
  section in the title of one of its subsections.)

- Fix a typo in recent xfunc addition, do some routine SGML police
  work.

- Add a comment noting that heap_copytuple_with_tuple() results in a
  HeapTuple that is no longer allocated as a single palloc() block; if
  used carelessly, this might result in a subsequent memory leak after
  heap_freetuple().

- VC build patch from Magnus: Typo in the changes to plperl - uses
  wrong dir, and had a missing slash.  Also fixes error checking for
  xsubpp - it was broken in a way that hid the problem above when run
  more than once (which is the normal case when developing).

- Overhaul the "External Projects" chapter in the manual.  Replace the
  variabelist with a more concise table, add a URL for each project,
  remove some orphaned projects, add PL/Py, and various other changes.
  Initial patch from Robert Treat, subsequent work by Neil Conway.

Peter Eisentraut committed:

- Correct misspellings of kB and GB.

- Translation updates for the .po files.

- In pgsql/src/tools/RELEASE_CHANGES, separate release preparation
  jobs for all releases and for major releases.

- In pgsql/src/backend/storage/freespace/freespace.c, change KB to kB.

== Rejected Patches (for now) ==

- Euler Taveira de Oliveira's patch to fix to_char() locale handling
  to honor LC_TIME instead of LC_MESSAGES.  It's too late in beta for
  this one.

- Greg Smith's update to the fsync test to match new O_DIRECT
  behavior.

== Pending Patches ==



pgsql-announce by date:

Previous
From: David Fetter
Date:
Subject: Re: Tree structure / access rights and associations
Next
From: Josh Berkus
Date:
Subject: PostgreSQL 8.2 Release Candidate 1 -- Test now, now NOW!