PostgreSQL La base de donnees la plus sophistiquee au monde.

Nouvelles hebdomadaires de PostgreSQL - 28 juin 2009

La 8.4.0 sera bientôt publiée. En attendant, poursuivez les tests !

Il y aura une conférence à Athens (Georgie, États-Unis) le 19 septembre 2009. L'appel aux conférences est ouvert :

La rencontre PostgreSQL lors du FISL à Porto Alegre (Brésil) fut vive. Quelques photos :

Le PUG allemand a obtenu un emplacement développeur au FrOSCon le dimanche 23 août 2009. L'appel à conférences est ouvert :

Une suite de conférences est organisée à Seattle (État de Washington, États-Unis) du 16 au 18 octobre 2009. L'appel à conférences est ouvert :

Les nouveautés des produits dérivés

L'astuce de la semaine

Besoin d'envoyer des données à MS Excel® ? "COPY ... WITH CSV HEADERS"

Offres d'emplois autour de PostgreSQL en juin

PostgreSQL Local

PostgreSQL dans les média

PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter et Josh Berkus. 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), en allemand à pwn (a), en italien à pwn (a)

Correctifs appliqués

Tom Lane a commité :

  • In pgsql/src/backend/utils/adt/arrayfuncs.c, revert dubious message wording change.
  • Make to_timestamp and friends skip leading spaces before an integer field, even when not in Fujii Masao mode. This improves compatibility with Oracle and with our pre-8.4 behavior, as per bug #4862. Add a couple of regression test cases for this. In passing, get rid of the labeling of the individual test cases; doesn't seem to be good for anything except causing extra work when inserting a test... Brendan Jurd and Tom Lane
  • For bulk write operations (eg COPY IN), use a ring buffer of 16MB instead of the 256KB limit originally enforced by a patch committed 2008-11-06. Per recent test results, the smaller size resulted in an undesirable decrease in bulk data loading speed, due to COPY processing frequently getting blocked for WAL flushing. This area might need more tweaking later, but this setting seems to be good enough for 8.4.
  • Fix the makefiles to fail cleanly if Perl is needed but not present. This used to work as intended, but got broken some time ago (a quoted empty string is not an empty string), and got broken some more by the changes to generate ecpg's preproc.y automatically. Given all the unprotected uses of $(PERL) elsewhere, it seems best to make use of the $(missing) script rather than trying to ensure each such use is protected individually. Also fix various bits of documentation that omitted to mention Perl as a requirement for building from a CVS pull. Per a complaint from Robert Haas.
  • In pgsql/src/backend/utils/adt/geo_ops.c, fix an ancient error in dist_ps (distance from point to line segment), which a number of other geometric operators also depend on. It miscalculated the slope of the perpendicular to the given line segment anytime that slope was other than 0, infinite, or ±1. In some cases the error would be masked because the true closest point on the line segment was one of its endpoints rather than the intersection point, but in other cases it could give an arbitrarily bad answer. Per bug #4872 from Nick Roosevelt. Bug goes clear back to Berkeley days, so patch all supported branches. Make a couple of cosmetic adjustments while at it.
  • In pgsql/doc/src/sgml/dml.sgml, provide a link to the UPDATE reference page in the 'Updating Data' section of the docs. Per suggestion from Brad Bowman.
  • In pgsql/contrib/pg_standby/pg_standby.c, make prior patch pgindent-safe.
  • In pgsql/src/backend/utils/error/elog.c, add __attribute__((format_arg(1))) to the declaration of err_gettext(), to restore gcc's ability to crosscheck format arguments within elog.c. Noted in a test compilation with -Wformat-nonliteral enabled.
  • Cleanup and code review for the patch that made bgwriter active during archive recovery. Invent a separate state variable and inquiry function for XLogInsertAllowed() to clarify some tests and make the management of writing the end-of-recovery checkpoint less klugy. Fix several places that were incorrectly testing InRecovery when they should be looking at RecoveryInProgress or XLogInsertAllowed (because they will now be executed in the bgwriter not startup process). Clarify handling of bad LSNs passed to XLogFlush during recovery. Use a spinlock for setting/testing SharedRecoveryInProgress. Improve quite a lot of comments. Heikki Linnakangas and Tom Lane.
  • In pgsql/doc/src/sgml/backup.sgml, marginal improvement of description of recovery_end_command.
  • In pgsql/doc/src/sgml/monitoring.sgml, add a note about SystemTap vs DTrace spelling of probe names.
  • In pgsql/doc/src/sgml/release-8.4.sgml, update release notes in final preparation for 8.4.0.
  • In pgsql/doc/Makefile, revert addition of "o" to tar options. This was intended to fix bug #4883, but the cure appears to be worse than the disease. It turns out that GNU tar versions 1.14.x misinterpret -o as --same-owner, not --no-same-owner, leading to exactly the wrong behavior for both root and nonroot users. While that bug has been fixed for nearly five years, these tar versions are still found in the wild, notably in OS X 10.4. Given that #4883 was the first complaint we'd heard, it's definitely not worth fixing at the risk of breaking things for other users. Perhaps revisit at a later date when we're not up against a release deadline.

Peter Eisentraut a commité :

  • In pgsql/doc/src/sgml/ref/move.sgml, add more explicit note that the parameters of MOVE are identical to FETCH. Per David Wheeler.
  • In pgsql/src/backend/access/gist/gistsplit.c, correct grammar in picksplit debug messages
  • In pgsql/doc/src/sgml/Makefile, man pages back to lowercase names, with additional fixup to make the .so links work.
  • In pgsql/doc/Makefile, use $(TAR) instead of tar in makefiles.
  • In pgsql/doc/Makefile, extract tarballs with "o" option (tar xof), to behave reasonably when run as root, as would usually be the case during make install. Per bug #4883.
  • Translation updates for 8.4 release. File that are translated less than 80% have been removed, as per new translation team policy.

Marc Fournier a commité :

  • Bundle RC2.
  • Bundle v8.4.0.

Magnus Hagander a commité :

  • Properly initialize SSL engines when used from libpq. This is required for most external engines. Per report and initial code from Lars Kanis.
  • In pgsql/src/backend/libpq/hba.c, parse_ident_usermap() should use ereport(LOG) and not ERROR, and put the return value in the *error_p variable. Noted by Tom Lane.
  • In pgsql/doc/src/sgml/client-auth.sgml, fix incorrect LDAP example, noted by Tom Lane.
  • In pgsql/src/backend/libpq/auth.c, disallow empty passwords in LDAP authentication, the same way we already do it for PAM.

Heikki Linnakangas a commité :

  • Disable pg_standby -l option because the backend doesn't expect the recovered file to be a symlink. We tried to fix this issue with an earlier server-side patch, but it didn't fix the whole issue. The same bug is present in older releases as well, but the 8.4 train is about to leave the station, and I'm not sure if have consensus on whether we can remove the -l option in back-branches or do we need to attempt a server-side fix to make symlinking safe. Patch by Simon Riggs, per discussion on bug identified by Fujii Masao.
  • In pgsql/src/backend/access/transam/twophase.c, the code to unlink dropped relations in FinishPreparedTransaction() was acting like runs inside WAL recovery, but it doesn't. I must've copy-pasted this from a redo-function in the relation forks patch. Noticed by Tom Lane while he was looking through callers of smgrdounlink().
  • Fix some serious bugs in archive recovery, now that bgwriter is active during it: When bgwriter is active, the startup process can't perform mdsync() correctly because it won't see the fsync requests accumulated in bgwriter's private pendingOpsTable. Therefore make bgwriter responsible for the end-of-recovery checkpoint as well, when it's active. When bgwriter is active (= archive recovery), the startup process must not accumulate fsync requests to its own pendingOpsTable, since bgwriter won't see them there when it performs restartpoints. Make startup process drop its pendingOpsTable when bgwriter is launched to avoid that. Update minimum recovery point one last time when leaving archive recovery. It won't be updated by the end-of-recovery checkpoint because XLogFlush() sees us as out of recovery already. This fixes bug #4879 reported by Fujii Masao.

Correctifs rejetés (à ce jour)

  • Pas de déception cette semaine :-)

Correctifs en attente

  • ITAGAKI Takahiro sent in a patch to add missing_ok to GetUserMapping() and makes dblink use it.
  • Robert Haas sent in a patch to make pg_listener.h conform better to PostgreSQL coding standards.
  • Zoltan Boszormenyi sent in a patch to add dynamic cursors and SQLDA to ECPG.
  • Fujii Masao and Magnus Hagander traded patches to remove pg_standby's dependency on
  • KaiGai Kohei sent in a patch to add DAC security checks on large objects.
  • Scara Maccai sent in a patch to add a query progress indicator.
  • Tsutomu Yamada sent in a patch to make PostgreSQL more portable to 64-bit platforms.
  • Nedyalko Borisov sent in a JOIN optimization for partitioned tables.
  • Robert Haas sent in a patch to make generated header files work better with building subsystems.

pgwn/28_juin_2009.txt · Dernière modification: 2009/06/30 23:41 par buggy