Обсуждение: == PostgreSQL Weekly News - March 07 2010 ==

Поиск
Список
Период
Сортировка

== PostgreSQL Weekly News - March 07 2010 ==

От
David Fetter
Дата:
== PostgreSQL Weekly News - March 07 2010 ==

Bug fix updates for PostgreSQL 7.4 through 8.4 will be out soon.  Get
ready to upgrade!

The San Francisco PostgreSQL Users' Group will be having a Test Fest
Saturday April 3, 11am to 6pm.  There will be live video.  Help make
this a world-wide event!
http://wiki.postgresql.org/wiki/SFPUG_Beta_Test_Day

== PostgreSQL Product News ==

MicroOLAP Database Designer 1.2.10 for PostgreSQL released.
http://microolap.com/products/database/postgresql-designer/

The PGCon 2010 Schedule is now available.
http://www.pgcon.org/2010/schedule/

PostgreSQLfr will have a booth at SolutionsLinux 2010 in Paris,
France March 16-18, 2010.  Volunteers, please contact Stephane
Schildknecht at sas AT postgresql DOT fr, or the general PostgreSQLfr
address at bureau AT postgresql DOT fr.  More information on the
conference at:
http://www.solutionslinux.fr

== PostgreSQL 9.0 Feature of the Week ==

EXPLAIN output can be formatted as XML, JSON, and YAML, making machine
parsing much simpler.  The traditional text format is still the
default format.

== PostgreSQL Local ==

BWPUG will be meeting in Falls Church, VA, USA on March 10, 2010 at
6:30pm.
http://www.xzilla.net/blog/2010/Feb/BWPUG-March-10th,-Falls-Church-take-two..html

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.
http://andreas.scherbaum.la/blog/archives/652-PostgreSQL-stand-at-Chemnitz-Linux-Days-2010.html
http://chemnitzer.linux-tage.de/2010/vortraege/plan.html

JDCon East will take place March 25-28, 2010 in Philadelphia, PA, USA.
http://www.postgresqlconference.org/2010/east

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

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:
http://andreas.scherbaum.la/blog/archives/650-PostgreSQL-Schulung-als-Bildungsurlaub-03.-07.05.2010-in-Magdeburg.html

PgCon 2010 will be held May 20-21 2010 in Ottawa with tutorials before
on the 18th and 19th.
http://www.pgcon.org/2010/registration.php

The CfP for OSBridge is open!  OSBridge will be June 1-4, 2010 in
Portland, Oregon.
http://opensourcebridge.org/events/2010/proposals/

OSCON will take place in Portland, Oregon July 19-23, 2010.
http://www.oscon.com/oscon2010


== PostgreSQL in the News ==

Planet PostgreSQL: http://planet.postgresql.org/

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@fetter.org, German language
to pwn@pgug.de, Italian language to pwn@itpug.org.

== Applied Patches ==

Tom Lane committed:

- Back-patch today's memory management fixups in contrib/xml2.  Prior
  to 8.3, these changes are not critical for compatibility with core
  Postgres, since core had no libxml2 calls then.  However there is
  still a risk if contrib/xml2 is used along with libxml2
  functionality in Perl or other loadable modules.  So back-patch to
  all versions.  Also back-patch addition of regression tests.  I'm
  not sure how many of the cases are interesting without the
  interaction with core xml code, but a silly regression test is still
  better than none at all.

- Remove xmlCleanupParser calls from contrib/xml2.  These are
  unnecessary and probably dangerous.  I don't see any immediate risk
  situations in the core XML support or contrib/xml2 itself, but there
  could be issues with external uses of libxml2, and in any case it's
  an accident waiting to happen.

- In pgsql/src/port/copydir.c, buildfarm still unhappy, so I'll bet
  it's EACCES not EPERM.

- Fix contrib/xml2 so regression test still works when it's built
  without libxslt.  This involves modifying the module to have a
  stable ABI, that is, the xslt_process() function still exists even
  without libxslt.  It throws a runtime error if called, but doesn't
  prevent executing the CREATE FUNCTION call.  This is a good thing
  anyway to simplify cross-version upgrades.

- In pgsql/src/pl/plpgsql/src/gram.y, cause plpgsql to throw an error
  if "INTO rowtype_var" is followed by a comma.  Per bug #5352, this
  helps to provide a useful error message if the user tries to do
  something presently unsupported, namely use a rowtype variable as a
  member of a multiple-item INTO list.

- In pgsql/src/pl/plpgsql/src/gram.y, instead of trying (and failing)
  to allow <<label>> at the end of a DECLARE section, throw an error
  message saying explicitly that the label must go before DECLARE.
  Per investigation of a recent pgsql-novice question, this code did
  not work as intended in any modern PG version, maybe not ever.
  Allowing such a thing would only create ambiguity anyway, so it
  seems better to remove it than fix it.

- Export xml.c's libxml-error-handling support so that contrib/xml2
  can use it too, instead of duplicating the functionality (badly).  I
  renamed xml_init to pg_xml_init, because the former seemed just a
  bit too generic to be safe as a global symbol.  I considered
  likewise renaming xml_ereport to pg_xml_ereport, but felt that the
  reference to ereport probably made it sufficiently PG-centric
  already.

- Make contrib/xml2 use core xml.c's error handler, when available
  (that is, in versions >= 8.3).  The core code is more robust and
  efficient than what was there before, and this also reduces risks
  involved in swapping different libxml error handler settings.
  Before 8.3, there is still some risk of problems if add-on modules
  such as Perl invoke libxml without setting their own error handler.
  Given the lack of reports I'm not sure there's a risk in practice,
  so I didn't take the step of actually duplicating the core code into
  older contrib/xml2 branches.  Instead I just tweaked the existing
  code to ensure it didn't leave a dangling pointer to short-lived
  memory when throwing an error.

- Fix a couple of places that would loop forever if attempts to read a
  stdio file set ferror() but never set feof().  This is known to be
  the case for recent glibc when trying to read a directory as a file,
  and might be true for other platforms/cases too.  Per report from Ed
  L.  (There is more that we ought to do about his report, but this is
  one easily identifiable issue.)

- In pgsql/src/backend/libpq/hba.c, when reading pg_hba.conf and
  similar files, do not treat @file as an inclusion unless (1) the @
  isn't quoted and (2) the filename isn't empty.  This guards against
  unexpectedly treating usernames or other strings in "flat files" as
  inclusion requests, as seen in a recent trouble report from Ed L.
  The empty-filename case would be guaranteed to misbehave anyway,
  because our subsequent path-munging behavior results in trying to
  read the directory containing the current input file.  I think this
  might finally explain the report at
  http://archives.postgresql.org/pgsql-bugs/2004-05/msg00132.php of a
  crash after printing "authentication file token too long, skipping",
  since I was able to duplicate that message (though not a crash) on a
  platform where stdio doesn't refuse to read directories.  We never
  got far in investigating that problem, but now I'm suspicious that
  the trigger condition was an @ in the flat password file.
  Back-patch to all active branches since the problem can be
  demonstrated in all branches except HEAD.  The test case, creating a
  user named "@", doesn't cause a problem in HEAD since we got rid of
  the flat password file.  Nonetheless it seems like a good idea to
  not consider quoted @ as a file inclusion spec, so I changed HEAD
  too.

- In pgsql/src/backend/catalog/aclchk.c, fix warning messages in
  restrict_and_check_grant() to include the column name when warning
  about column-level privileges.  This is more useful than before and
  makes the apparent duplication complained of by Piyush Newe not so
  duplicate.  Also fix lack of quote marks in a related message text.
  Back-patch to 8.4, where column-level privileges were introduced.
  Stephen Frost

- Update time zone data files to tzdata release 2010c: DST law changes
  in Bangladesh, Mexico, Paraguay.

Magnus Hagander committed:

- In pgsql/src/backend/libpq/hba.c, it's clearly now pointless to do
  backwards compatible parsing of this, since we released a version
  without it, so remove the comment that says we might want to do
  that.

- Add --psqlrc=FILENAME parameter to psql, to process an explicitly
  named file instead of ~/.psqlrc on startup.

- Revert patch for --psqlrc=FILENAME in psql.

Heikki Linnakangas committed:

- Fix numericlocale psql option when used with a null string and latex
  and troff formats; a null string must not be formatted as a numeric.
  The more exotic formats latex and troff also incorrectly formatted
  all strings as numerics when numericlocale was on.  Backpatch to 8.1
  where numericlocale option was added.  This fixes bug #5355 reported
  by Andy Lester.

- In pgsql/src/bin/psql/print.c, fix translation of strings in psql \d
  output (translation in headers worked, but not in cells).

- Fix pg_dump of ACLs of foreign servers. The command to grant/revoke
  privileges of foreign servers is "GRANT ... ON *FOREIGN* SERVER
  ...".

- In pgsql/src/backend/parser/parse_coerce.c, fix IsBinaryCoercible to
  not confuse a cast using in/out functions with binary compatibility.
  Backpatch to 8.4 where INOUT casts were introduced.

Andrew Dunstan committed:

- In pgsql/src/tools/msvc/Solution.pm, add XSLT defines for MSVC
  builds.

- In pgsql/src/tools/msvc/Solution.pm, backpatch MSVC build fix for
  XSLT.

- In pgsql/src/tools/msvc/vcregress.pl, do not run regression tests
  for contrib/xml2 on MSVC unless building with XML.

- In pgsql/src/tools/msvc/Solution.pm, add missing library and include
  dir for XSLT in MSVC builds.

- In pgsql/src/tools/msvc/Solution.pm, make iconv work like other
  optional libraries for MSVC.

Peter Eisentraut committed:

- In pgsql/doc/src/sgml/keywords.sgml, update keywords list for 9.0.

Bruce Momjian committed:

- Document the effect of max_standby_delay on increasing the delay of
  data from master to slave, and discourage its use during
  slave/master keep-xid-alive connections.

- In pgsql/doc/src/sgml/config.sgml, adjust max_standby_delay
  documentation to be clearer, and mention that two adjacent
  long-running queries have much less than max_standby_delay before
  query cancel is possible.

- In pgsql/src/backend/utils/adt/xml.c, pgindent run on xml.c in 8.3
  branch, per request from Tom Lane.

- In pgsql/doc/src/sgml/ref/create_function.sgml, restructure CREATE
  FUNCTION "NOTES" section to be shorter;  move items into proper
  sections, per suggestion from Tom Lane.

- In pgsql/doc/src/sgml/ref/create_function.sgml, fix SGML markup.

- Document that "Q" is ignored by to_date and to_timestamp.  Add C
  comment about the behavior.  Document that quotes in to_date,
  to_timestamp, to_number skip input characters.

- In pgsql/src/bin/pg_dump/pg_dump.c, add C comment about DDL changes
  possibly causing pg_dump errors.

Michael Meskes committed:

- In case the connection magically disappears libecpg only returns an
  internal error sqlstate.  This change makes it return a correct
  value.

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Magnus Hagander sent in a patch to fix a crash issue with psql and GSS
auth.

Bruce Momjian sent in another revision of a patch to fix some issues
with to_char() on Windows.

Fujii Masao sent in three more patches to help fix corner cases in
streaming replication with pg_xlogfile_name().

Fujii Masao sent in a patch to mandate setting either restore_command
or primary_conninfo in recovery.conf.

Fujii Masao sent in a patch to correct recovery.conf.sample for
streaming replication.

KaiGai Kohei sent in a patch to disallow renaming columns in sequence
"tables."

Bruce Momjian sent in three patches fixing to_timestamp() behavior
with 'Q'.

KaiGai Kohei sent in a patch factoring out duplicate code in
CreateOpFamily() and DefineOpFamily().

Tim Bunce sent in a patch to fix a core dump in PL/Perl installcheck
with bleadperl.

Bruce Momjian sent in three revisions of a patch to fix the exit code
form psql -1 when it encounters a violation of a deferred foreign key
constraint.