PostgreSQL La base de donnees la plus sophistiquee au monde.

Twitter


Utilisateur




Langue

Traductions de cette page:




Nouvelles hebdomadaires de PostgreSQL - 7 mars 2010

Des mises à jour pour cause de bug seront publiées bientôt, concernant toutes les versions de la 7.4 à la 8.4. Préparez-vous !

Le PUG de San Francisco fera une "Fête du Test" le samedi 3 avril de 11h à 18h. Vidéo en direct. Aidez à en faire un événement mondial ! http://wiki.postgresql.org/wiki/SFPUG_Beta_Test_Day

Le programme de la PGCon 2010 est maintenant disponible : http://www.pgcon.org/2010/schedule/

PostgreSQLfr tiendra un stand lors des Solutions Linux 2010 à Paris (16-18 mars, Porte de Versailles). Volontaires, n'hésitez pas à contacter Stéphane Schildknecht à l'adresse sas CHEZ postgresql POINT fr, ou sur la liste générale : bureau CHEZ postgresql POINT fr. Plus d'informations sur l'événement : http://www.solutionslinux.fr

Les nouveautés des produits dérivés

La fonctionnalité 9.0 de la semaine

La sortie de EXPLAIN peut être formatée en XML, JSON et YAML, facilitant la lecture par un programme. Le format texte traditionnel reste celui par défaut.

PostgreSQL Local

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.

Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.

(lien vers l'article original)

Correctifs appliqués

Tom Lane a commité :

  • 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 a commité :

  • 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 a commité :

  • 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 a commité :

  • 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 a commité :

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

Bruce Momjian a commité :

  • 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 a commité :

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

Correctifs rejetés (à ce jour)

  • Pas de déception cette semaine :-)

Correctifs en attente

  • 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.

 
pgwn/7_mars_2010.txt · Dernière modification: 2010/03/08 20:29 par buggy