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

== PostgreSQL Weekly News - February 28 2010 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - February 28 2010 ==
Date: 2010-03-01 04:13:46
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-announce
== PostgreSQL Weekly News - February 28 2010 ==

PostgreSQL 9.0alpha4 is out.  Test!  More info and download
information below.

Registration for PGCon 2010 is now open.

BWPUG will be meeting in Falls Church, VA, USA on March 10, 2010 at

The CfP for OSBridge is open!

== PostgreSQL Product News ==

The Karoo Project, an application development framework for distributed
PostgreSQL database applications, now has a widget set for web front

pgFouine 1.2, a PostgreSQL log analyzer written in PHP, released.

== PostgreSQL 9.0 Feature of the Week ==

The pgbench suite is now multi-threaded, allowing you to take
advantage of multiple CPU cores.

== PostgreSQL Jobs for February ==

== PostgreSQL Local ==

The German Speaking PostgreSQL User Group has a stand at the Project
Lounge in hall 2 at Cebit 2010 from March 02 to March 06, 2010 in
Hannover, Germany.

The German Language PostgreSQL User Group has a booth at Chemnitz Linuxdays
2010 on March 13 and 14, 2010 in Chemnitz, Germany.  Andreas (ads)
Scherbaum will be giving a talk on PostgreSQL 9.0 and a workshop on
tuning PostgreSQL.

JDCon East will take place March 25-28, 2010 in Philadelphia, PA, USA.

Linuxfest Northwest 2010 will take place in Bellingham, Washington,
USA on April 24 and 25.  Session, Booth and Sponsorship are available.

Andreas (ads) Scherbaum will be teaching a "PostgreSQL for Corporate
Use" course at the adult education center in Magdeburg, Germany May
3-7, 2010.  Details below:

PgCon 2010 will be held May 20-21 2010 in Ottawa with tutorials before
on the 18th and 19th.

OSCON will take place in Portland, Oregon July 19-23, 2010.

== PostgreSQL in the News ==

Planet PostgreSQL:

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

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)

== Applied Patches ==

Heikki Linnakangas committed:

- Move documentation of all recovery.conf option to a new chapter.
  They used to be scattered between the "backup and restore" and
  "streaming replication" chapters.

- Fix streaming replication starting at the very first WAL segment.
  Per complaint from Greg Stark.

- In pgsql/doc/src/sgml/high-availability.sgml, small streaming
  replication document improvements.  Be more explicit that it's

- In pgsql/doc/src/sgml/high-availability.sgml, fix typo.  Fujii

- In pgsql/doc/src/sgml/recovery-config.sgml, clarify that the
  connection string for primary_conninfo is in the same format as in
  PQconnectdb().  As pointed out by Thom Brown.

- Document max_standby_delay=-1 option, now that it's allowed again.

Tom Lane committed:

- In pgsql/src/backend/storage/file/fd.c, adjust pg_fsync_writethrough
  so that it will set errno when failing on a platform that doesn't
  support this operation.  The former coding would allow an unrelated
  errno to be reported, which would be quite misleading.  Not sure if
  this has anything to do with the current buildfarm failures, but
  it's certainly bogus as-is.

- In pgsql/src/port/copydir.c, let's try forcing errno to zero before
  issuing fsync.  The current buildfarm results claiming EBADF seem
  improbable enough that I'm not convinced fsync is really returning
  that --- could it be failing to set errno at all?

- In pgsql/src/port/copydir.c, some platforms reject fsync() on files
  opened O_RDONLY.

- In pgsql/src/bin/pg_dump/pg_backup_tar.c, minor style policing for
  error messages in pg_dump tar code.  Notably, change "dumping data
  out of order is not supported" to "restoring data out of order is
  not supported", because you get that error during pg_restore not
  pg_dump.  Also fix some comments that didn't look so good after
  being pgindented as perhaps they did originally.

- In pgsql/doc/src/sgml/ref/pg_dump.sgml, clarify statements about tar
  archive format.

- Fix configure's regexp for extracting the Perl version number from
  perl -v output.  Per bug #5339, Perl 5.11 has changed the format of
  that output enough to break the previous coding.  Alex Hunsaker

- Add an OR REPLACE option to CREATE LANGUAGE.  This operates in the
  same way as other CREATE OR REPLACE commands, ie, it replaces
  everything but the ownership and ACL lists of an existing entry, and
  requires the caller to have owner privileges for that entry.  While
  modifying an existing language has some use in development
  scenarios, in typical usage all the "replaced" values come from
  pg_pltemplate so there will be no actual change in the language
  definition.  The reason for adding this is mainly to allow programs
  to ensure that a language exists without triggering an error if it
  already does exist.  This commit just adds and documents the new
  option.  A followon patch will use it to clean up some unpleasant
  cases in pg_dump and pg_regress.

- In pgsql/src/test/regress/pg_regress.c, make pg_regress use CREATE
  OR REPLACE LANGUAGE, so that --load-language will work whether or
  not the specified language is preinstalled.  This responds to some
  complaints about having to change test scripts because plpgsql is
  preinstalled as of 9.0.

- In pgsql/src/bin/pg_dump/pg_dump.c, use CREATE OR REPLACE LANGUAGE
  in pg_dump to avoid the need for a couple of significantly uglier
  kluges that were working around the change in plpgsql's preinstalled

- In pgsql/src/bin/pg_dump/pg_dump.c, un-break pg_dump for the case of
  zero-column tables.  This was evidently broken by the CREATE TABLE
  OF TYPE patch.  It would have been noticed if anyone had bothered to
  try dumping and restoring the regression database ...

- Fix patch for printing backend and pg_dump versions so that it works
  in a desirable fashion in archive-dump cases, ie you should get the
  pg_dump version not the pg_restore version.

- Allow zero-dimensional (ie, empty) arrays in contrib/ltree
  operations.  The main motivation for changing this is bug #4921, in
  which it's pointed out that it's no longer safe to apply ltree
  operations to the result of ARRAY(SELECT ...) if the sub-select
  might return no rows.  Before 8.3, the ARRAY() construct would
  return NULL, which might or might not be helpful but at least it
  wouldn't result in an error.  Now it returns an empty array which
  results in a failure for no good reason, since the ltree operations
  are all perfectly capable of dealing with zero-element arrays.  As
  far as I can find, these ltree functions are the only places where
  zero array dimensionality is rejected unnecessarily.  Back-patch to
  8.3 to prevent behavioral regression of queries that worked in older

- In pgsql/src/backend/access/transam/xlog.c, make pg_stop_backup's
  reporting a bit more verbose in hopes of making error cases less
  intimidating for novices.  Per discussion.  Greg Smith.

- In pgsql/doc/src/sgml/plperl.sgml, improve warning about creating
  nested named subroutines in plperl.  Per discussion.

- In pgsql/src/backend/optimizer/util/predtest.c, allow
  predicate_refuted_by() to deduce that NOT A refutes A.  We had
  originally made the stronger assumption that NOT A refutes any B if
  B implies A, but this fails in three-valued logic, because we need
  to prove B is false not just that it's not true.  However the logic
  does go through if B is equal to A.  Recognizing this limited case
  is enough to handle examples that arise when we have simplified
  "bool_var = true" or "bool_var = false" to just "bool_var" or "NOT
  bool_var".  If we had not done that simplification then the
  btree-operator proof logic would have been able to prove that the
  expressions were contradictory, but only for identical expressions
  being compared to the constants; so handling identical A and B
  covers all the same cases.  The motivation for doing this is to
  avoid unexpected asymmetrical behavior when a partitioned table uses
  a boolean partitioning column, as in today's gripe from Dominik
  Sander.  Back-patch to 8.2, which is as far back as
  predicate_refuted_by attempts to do anything at all with NOTs.

- Back-patch addition of ssl_renegotiation_limit into 7.4 through 8.1.

- In pgsql/src/backend/utils/mb/mbutils.c, undo some more pgindent
  breakage.  Per buildfarm.

- Entity-ify a few new uses of literal <, >, and &.

- Insert a hack into get_float8_nan (both core and ecpg copies) to
  deal with the fact that NetBSD/mips is currently broken, as per
  buildfarm member pika.  Also add regression tests to ensure that
  get_float8_nan and get_float4_nan are exercised even on platforms
  where they are not needed by float8in/float4in.  Zoltan Boszormenyi
  and Tom Lane.

- Assorted code cleanup for contrib/xml2.  No change in functionality,
  just make it a bit less ugly in places.

- Fix up memory management problems in contrib/xml2.  Get rid of the
  code that attempted to funnel libxml2's memory allocations into
  palloc.   We already knew from experience with the core xml datatype
  that trying to do this is simply not reliable.  Unlike the core
  code, I did not bother adding a lot of PG_TRY/PG_CATCH logic to try
  to ensure that everything is cleaned up on error exit.  Hence, we
  might leak some memory if one of these functions fails partway
  through.  Given the deprecated status of this contrib module and the
  fact that errors partway through the functions shouldn't be too
  common, it doesn't seem worth worrying about.  Also fix a separate
  bug in xpath_table, that it did the wrong things if given a result
  tuple descriptor with less than 2 columns.  While such a case isn't
  very useful in practice, we shouldn't fail or stomp memory when it
  occurs.  Add some simple regression tests based on all the reported
  crash cases that I have on hand.  This should be back-patched, but
  let's see if the buildfarm likes it first.

- Back-patch changes of 2009-05-13 in xml.c's memory management to
  8.3.  I was afraid to do this when these changes were first made,
  but now that 8.4 has seen some field use it should be all right to
  back-patch.  These changes are really quite necessary in order to
  give xml.c any hope of co-existing with loadable modules that also
  wish to use libxml2.

Bruce Momjian committed:

- In pgsql/doc/src/sgml/backup.sgml, briefly document in two places
  that pg_dump and pg_dumpall cannot be used for continuous archiving.

- Use the term "bundled distribution" instead of "official
  distribution" in configure warnings.

- In pgsql/doc/src/sgml/protocol.sgml, remove protocol documentation
  paragraph about environment variable passing being "covered
  elsewhere", per Dave Page.

- Revert configure warning to use "official distribution".

- Document that pg_ctl cares about the PGHOST environment variable.

- In pgsql/doc/src/sgml/ref/create_table.sgml, remove
  long-commented-out paragraph in documentation about function
  inheritance in create table, per Andrew Dunstan.

- In pgsql/doc/src/sgml/ref/pg_restore.sgml, update pg_restore
  documentation to show new pg_restore custom listing format.  Pavel

- Supress convertion of zero hours to '12' for intervals when using
  to_char with Hitoshi Harada, e.g.  to_char(interval '0d 0h 12m 44s',
  'DD HH24 MI SS'); now returns: '00 00 12 44' not: '00 12 12 44'.

- In pgsql/doc/src/sgml/ref/copy.sgml, make documentation more direct
  about the handling of COPY files based on the client encoding.

- In pgsql/src/backend/utils/adt/formatting.c, secondary patch to fix
  interval to_char() for "HH" where hours >= 12.

- Revert recent change of to_char('HH12') handling for intervals;
  instead improve documentation, and add C comment.

- In pgsql/doc/src/sgml/ref/copy.sgml, revert recent COPY manual
  change about encoding; add mention of "server".

- In pgsql/src/bin/pg_dump/pg_backup_archiver.c, have pg_dump (-v)
  verbose mode output the pg_dump and server versions in text output
  mode, like we do in custom output mode.  Jim Cox

- Update startup scripts for Linux and FreeBSD.  Kevin Grittner.

- In pgsql/contrib/start-scripts/freebsd, modify freebsd start script
  to just exit 0 with message.

- Remove pre-7.4 documentaiton mentions, now that 8.0 is the oldest
  supported release.

- Revert removal of pre-7.4 documenation behavior mentions.

- In pgsql/doc/src/sgml/ref/pg_restore.sgml, document that pg_restore
  -t can use -n for its schema qualification.

- In pgsql/doc/src/sgml/datatype.sgml, clearly document that timestamp
  alone means timestamp without timezone, per SQL standard, and
  mention 7.3 behavior at the end.

- In pgsql/src/backend/utils/adt/formatting.c, add C comment that
  do_to_timestamp() lacks error checking.

- In pgsql/doc/src/sgml/config.sgml, document clearly the meaning of
  none/all for log_statements.

- In pgsql/doc/src/sgml/ref/create_function.sgml, document that after
  triggers that need to see changed rows should not be marked stable.

- In pgsql/doc/src/sgml/datatype.sgml, remove 'emphasis' markup inside
  literal;  not allowed.

- In pgsql/src/tools/pgindent/README, update pgindent instructions to
  avoid changes to flex output files.

- In pgsql/src/tools/pgindent/, add pgindent typedefs file
  to CVS.

- pgindent run for 9.0.

- In pgsql/src/tools/pgindent/README, update pgindent instructions.

- In pgsql/doc/src/sgml/perform.sgml, document pg_restore --jobs as a
  performance enhancement.

- Call output file typedefs.list;  update README.

- In pgsql/src/bin/scripts/vacuumdb.c in vacuumdb --help, call analyze
  "statistics", not "hints".

- In pgsql/src/tools/pgindent/README, document why pgindent wants a
  fresh CVS checkout.

- In pgsql/src/tools/pgindent/README, update pgindent docs to use

- In pgsql/src/tools/pgindent/README, wording improvements to README.

- Revert pgindent changes to ecpg include files that are part of ecpg
  regession test output, and update pgindent script to avoid them in
  the future.

- In pgsql/src/tools/pgindent/README, suggest gmake installcheck-world
  for pgindent testing.

- In pgsql/doc/src/sgml/wal.sgml, document ATAPI drive flush command,
  and mention SSD drives.

- In pgsql/doc/src/sgml/libpq.sgml, use <> for libpq #include in
  example programs, per suggestion from Josh Berkus.

- In pgsql/doc/src/sgml/config.sgml, document
  trace_recovery_messages() parameter as an enum, not string.  Fujii


- In pgsql/src/backend/utils/adt/pg_locale.c, back out unintended
  change to pg_locale.c.

- Update complex locale example in the documentation.

ITAGAKI Takahiro committed:

- In pgsql/contrib/dblink/dblink.c, remove useless codes to initialize
  TupleDesc from dblink_exec.

Alvaro Herrera committed:

- In pgsql/doc/src/sgml/mvcc.sgml, remove stray semicolon, per report
  from Sandro (strk) Santilli strk AT keybit DOT net.

Magnus Hagander committed:

- In pgsql/doc/src/sgml/plperl.sgml, fix typos, per Richard Huxton

- Add configuration parameter ssl_renegotiation_limit to control how
  often we do SSL session key renegotiation.  Can be set to 0 to
  disable renegotiation completely, which is required if a broken SSL
  library is used (broken patches to CVE-2009-3555 a known cause) or
  when using a client library that can't do renegotiation.  Back-patch
  to 8.2.

Michael Meskes committed:

- Make sure ecpg uses the same header files in the same order as the

Gregory Stark committed:

- In pgsql/src/port/copydir.c, second try at fsyncing directories in
  CREATE DATABASE. Let's see what the build farm says of opening
  directories read-only and ignoring EBADF from fsync of directories.

- In pgsql/src/port/copydir.c, Add EPERM to the list of return codes
  to expect from opening directories based on Vista results

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Magnus Hagander sent in a patch to fix the SSL negotiation issue.

Fujii Masao sent in a doc patch for Hot Standby.

Simon Riggs sent in a patch to add a pg_abort_backup() function per
discussion about Hot Standby/Streaming Replication.

Gabrielle Roth sent in a doc patch explaining which statements get
logged at different levels of log_level in postgresql.conf.

Fujii Masao sent in a patch for streaming replication to use
lastPageTLI instead of curFileTLI as the timeline of the last applied

Teodor Sigaev sent in a patch against tsearch2 which allows for

ITAGAKI Takahiro sent in a cleanup for the sequential scan code.

Piyush Newe sent in a patch to change the error message thrown in
ambiguous cases of the argument.function notation.

Hiroshi Inoue and Bruce Momjian sent in patches to get to_char to do
the right thing on Windows with UTF-8 encoding.

pgsql-announce by date

Next:From: Joshua D. DrakeDate: 2010-03-02 21:49:16
Subject: Pg Conferece East, Agenda up and Registration Open
Previous:From: Dan LangilleDate: 2010-03-01 01:01:33
Subject: PGCon 2010 registration now open

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