<p><strong>Nouvelles hebdomadaires de PostgreSQL - 28 juin 2009</strong></p> <p>La 8.4.0 sera bient&ocirc;t publi&eacute;e. En attendant, poursuivez les tests&nbsp;! <a target="_blank" href="http://www.postgresql.org/developer/beta">http://www.postgresql.org/developer/beta</a></p> <p>Il y aura une conf&eacute;rence &agrave; Athens (Georgie, &Eacute;tats-Unis) le 19 septembre 2009. L'appel aux conf&eacute;rences est ouvert&nbsp;: <a target="_blank" href="http://www.postgresqlconference.org/2009/pgday/athens">http://www.postgresqlconference.org/2009/pgday/athens</a></p> <p>La rencontre PostgreSQL lors du FISL &agrave; Porto Alegre (Br&eacute;sil) fut vive. Quelques photos&nbsp;: <a target="_blank" href="http://picasaweb.google.com/diogob/FISL2009?feat=directlink">http://picasaweb.google.com/diogob/FISL2009?feat=directlink</a></p> <p>Le PUG allemand a obtenu un emplacement d&eacute;veloppeur au FrOSCon le dimanche 23 ao&ucirc;t 2009. L'appel &agrave; conf&eacute;rences est ouvert&nbsp;: <a target="_blank" href="http://andreas.scherbaum.la/blog/archives/573-Call-for-Papers-fuer-den-PostgreSQL-Devroom-auf-der-FrOSCon-2009.html">http://andreas.scherbaum.la/blog/archives/573-Call-for-Papers-fuer-den-PostgreSQL-Devroom-auf-der-FrOSCon-2009.html</a></p> <p>Une suite de conf&eacute;rences est organis&eacute;e &agrave; Seattle (&Eacute;tat de Washington, &Eacute;tats-Unis) du 16 au 18 octobre 2009. L'appel &agrave; conf&eacute;rences est ouvert&nbsp;: <a target="_blank" href="http://www.postgresqlconference.org/2009/west">http://www.postgresqlconference.org/2009/west</a></p> <p><strong>Les nouveaut&eacute;s des produits d&eacute;riv&eacute;s</strong></p> <ul> <li>Andreas (ads) Scherbaum enseignera au centre pour adultes de Magdeburg (All.) du 7 au 11 septembre 2009 sur le sujet "PostgreSQL for Corporate Use". D&eacute;tails ci-dessous&nbsp;: <a target="_blank" href="http://andreas.scherbaum.la/blog/archives/574-PostgreSQL-als-Bildungsurlaub.html">http://andreas.scherbaum.la/blog/archives/574-PostgreSQL-als-Bildungsurlaub.html</a></li> <li>MyJSQLView 3.03, une interface graphique en Java pour l'&eacute;dition de donn&eacute;es&nbsp;: <a target="_blank" href="http://myjsqlview.org/projects/MyJSQLView/index.html">http://myjsqlview.org/projects/MyJSQLView/index.html</a></li> <li>py-postgresql 0.9.0 et 0.8.2, un pilote Python pour PostgreSQL et un kit g&eacute;n&eacute;raliste pour les travaux PG sous Python&nbsp;: <a target="_blank" href="http://python.projects.postgresql.org/?utm_source=release&amp;utm_medium=email&amp;utm_campaign=py-postgresql-0.9.0">http://python.projects.postgresql.org/?utm_source=release&amp;utm_medium=email&amp;utm_campaign=py-postgresql-0.9.0</a></li> </ul> <p><strong>L'astuce de la semaine</strong></p> <p>Besoin d'envoyer des donn&eacute;es &agrave; MS Excel&reg;&nbsp;? "COPY ... WITH CSV HEADERS"</p> <p><strong>Offres d'emplois autour de PostgreSQL en juin</strong></p> <ul> <li><a target="_blank" href="http://archives.postgresql.org/pgsql-jobs/2009-06/threads.php">http://archives.postgresql.org/pgsql-jobs/2009-06/threads.php</a></li> </ul> <p><strong>PostgreSQL Local</strong></p> <ul> <li>Le pgDay San Jose est programm&eacute; pour le dimanche 19 juillet, juste avant l'OSCON. Inscription ci-dessous&nbsp;: <a target="_blank" href="http://postgresql.meetup.com/1/calendar/10626647">http://postgresql.meetup.com/1/calendar/10626647</a></li> <li>L'"OpenSQL Camp" aura lieu les 22 &amp; 23 ao&ucirc;t &agrave; S<sup>t</sup> Augustin (All.), pr&egrave;s de Bonn et de Cologne. La date limite pour les propositions de conf&eacute;rences est le 19 juillet 2009&nbsp;: <a target="_blank" href="http://opensqlcamp.org/Events/2009/Call_for_Participation">http://opensqlcamp.org/Events/2009/Call_for_Participation</a></li> <li>L'appel &agrave; conf&eacute;rences pour la "PyCon Argentina" est lanc&eacute; jusqu'&agrave; la date du 29 juin 2009, 23h59 ART [ndt: UTC-3 ?]. La conf&eacute;rence elle-m&ecirc;me aura lieu &agrave; Buenos Aires les 4 &amp; 5 septembre 2009&nbsp;: <a target="_blank" href="http://ar.pycon.org/2009/rfp/">http://ar.pycon.org/2009/rfp/</a></li> <li>La "PGCon Brazil" prendra place &agrave; l'Unicamp de Campinas (&Eacute;tat de S&atilde;o Paulo) les 23 &amp; 24 octobre 2009. L'appel &agrave; conf&eacute;rences est lanc&eacute;&nbsp;: <a target="_blank" href="http://pgcon.postgresql.org.br/2009/chamadas.en.php">http://pgcon.postgresql.org.br/2009/chamadas.en.php</a></li> <li>&Agrave; partir du 1<sup>er</sup> octobre, 2ndQuadrant va offrir, pendant 15 mois, un support gratuit aux &eacute;tudiants de l'universit&eacute; de L'Aquila (r&eacute;gion des Abruzzes en Italie). Plus d'informations (en italien)&nbsp;: <a target="_blank" href="http://blog.2ndquadrant.it/it/2009/06/2ndquadrant-universita-aquila.html">http://blog.2ndquadrant.it/it/2009/06/2ndquadrant-universita-aquila.html</a></li> <li>Le PGDay.EU 2009 est programm&eacute; pour les 6 &amp; 7 novembre 2009 &agrave; Telecom ParisTech [ndt: ENST ?]&nbsp;: <a target="_blank" href="http://www.pgday.eu/">http://www.pgday.eu/</a></li> <li>Vos propositions de conf&eacute;rences sont attendues pour le 10<sup>&egrave;me</sup> anniversaire du JPUG. Le rassemblement aura lieu les 20 &amp; 21 novembre 2009 &agrave; Tokyo, Japan&nbsp;: <a target="_blank" href="http://archives.postgresql.org/pgsql-announce/2009-05/msg00018.php">http://archives.postgresql.org/pgsql-announce/2009-05/msg00018.php</a></li> </ul> <p><strong>PostgreSQL dans les m&eacute;dia</strong></p> <ul> <li>Planet PostgreSQL&nbsp;: <a target="_blank" href="http://planet.postgresql.org/">http://planet.postgresql.org/</a></li> <li>Planet PostgreSQLFr&nbsp;: <a target="_blank" href="http://planete.postgresql.fr/">http://planete.postgresql.fr/</a></li> </ul> <p><i>PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter et Josh Berkus. Traduction par l'&eacute;quipe PostgreSQLFr sous licence CC BY-NC-SA.</i></p> <p><i>Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais &agrave; david (a) fetter.org, en allemand &agrave; pwn (a) pgug.de, en italien &agrave; pwn (a) itpug.org.</i></p> <p><strong>Correctifs appliqu&eacute;s</strong></p> <p>Tom Lane a commit&eacute;&nbsp;:</p> <ul> <li>In pgsql/src/backend/utils/adt/arrayfuncs.c, revert dubious message wording change.</li> <li>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</li> <li>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.</li> <li>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.</li> <li>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 &plusmn;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.</li> <li>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.</li> <li>In pgsql/contrib/pg_standby/pg_standby.c, make prior patch pgindent-safe.</li> <li>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.</li> <li>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.</li> <li>In pgsql/doc/src/sgml/backup.sgml, marginal improvement of description of recovery_end_command.</li> <li>In pgsql/doc/src/sgml/monitoring.sgml, add a note about SystemTap vs DTrace spelling of probe names.</li> <li>In pgsql/doc/src/sgml/release-8.4.sgml, update release notes in final preparation for 8.4.0.</li> <li>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.</li> </ul> <p>Peter Eisentraut a commit&eacute;&nbsp;:</p> <ul> <li>In pgsql/doc/src/sgml/ref/move.sgml, add more explicit note that the parameters of MOVE are identical to FETCH. Per David Wheeler.</li> <li>In pgsql/src/backend/access/gist/gistsplit.c, correct grammar in picksplit debug messages</li> <li>In pgsql/doc/src/sgml/Makefile, man pages back to lowercase names, with additional fixup to make the .so links work.</li> <li>In pgsql/doc/Makefile, use $(TAR) instead of tar in makefiles.</li> <li>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.</li> <li>Translation updates for 8.4 release. File that are translated less than 80% have been removed, as per new translation team policy.</li> </ul> <p>Marc Fournier a commit&eacute;&nbsp;:</p> <ul> <li>Bundle RC2.</li> <li>Bundle v8.4.0.</li> </ul> <p>Magnus Hagander a commit&eacute;&nbsp;:</p> <ul> <li>Properly initialize SSL engines when used from libpq. This is required for most external engines. Per report and initial code from Lars Kanis.</li> <li>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.</li> <li>In pgsql/doc/src/sgml/client-auth.sgml, fix incorrect LDAP example, noted by Tom Lane.</li> <li>In pgsql/src/backend/libpq/auth.c, disallow empty passwords in LDAP authentication, the same way we already do it for PAM.</li> </ul> <p>Heikki Linnakangas a commit&eacute;&nbsp;:</p> <ul> <li>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.</li> <li>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().</li> <li>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.</li> </ul> <p><strong>Correctifs rejet&eacute;s (&agrave; ce jour)</strong></p> <ul> <li>Pas de d&eacute;ception cette semaine&nbsp;:-)</li> </ul> <p><strong>Correctifs en attente</strong></p> <ul> <li>ITAGAKI Takahiro sent in a patch to add missing_ok to GetUserMapping() and makes dblink use it.</li> <li>Robert Haas sent in a patch to make pg_listener.h conform better to PostgreSQL coding standards.</li> <li>Zoltan Boszormenyi sent in a patch to add dynamic cursors and SQLDA to ECPG.</li> <li>Fujii Masao and Magnus Hagander traded patches to remove pg_standby's dependency on libpq.so.5.</li> <li>KaiGai Kohei sent in a patch to add DAC security checks on large objects.</li> <li>Scara Maccai sent in a patch to add a query progress indicator.</li> <li>Tsutomu Yamada sent in a patch to make PostgreSQL more portable to 64-bit platforms.</li> <li>Nedyalko Borisov sent in a JOIN optimization for partitioned tables.</li> <li>Robert Haas sent in a patch to make generated header files work better with building subsystems.</li> </ul>