<p><strong>Nouvelles hebdomadaires de PostgreSQL - 9 ao&ucirc;t 2009</strong></p> <p>La date de fin de l'appel &agrave; conf&eacute;rence pour le PGDay.EU 2009 est fix&eacute;e au 15 ao&ucirc;t. Ce samedi est donc votre derni&egrave;re chance de faire partie de l'aventure&nbsp;; soumettez au plus t&ocirc;t&nbsp;! <a target="_blank" href="http://www.pgday.eu/">http://www.pgday.eu/</a></p> <p>Nouveau sondage&nbsp;: par quel biais avez-vous d&eacute;couvert PostgreSQL&nbsp;? <a target="_blank" href="http://www.postgresql.org/community">http://www.postgresql.org/community</a></p> <p><strong>Les nouveaut&eacute;s des produits d&eacute;riv&eacute;s</strong></p> <ul> <li>DBD::Pg 2.15.0, un connecteur Perl pour PostgreSQL&nbsp;: <a target="_blank" href="http://search.cpan.org/dist/DBD-Pg/">http://search.cpan.org/dist/DBD-Pg/</a></li> </ul> <p>(<a target="_blank" href="http://www.postgresql.org/community/weeklynews/pwn20090809">lien vers l'article original</a>)</p> <p><strong>Offres d'emplois autour de PostgreSQL en ao&ucirc;t</strong></p> <ul> <li><a target="_blank" href="http://archives.postgresql.org/pgsql-jobs/2009-08/threads.php">http://archives.postgresql.org/pgsql-jobs/2009-08/threads.php</a></li> </ul> <p><strong>PostgreSQL Local</strong></p> <ul> <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>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></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>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>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></li> <li>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></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>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>L'OpenSQL Camp de Portland est &agrave; la recherche de sponsors. Pensez &agrave; votre voyage d&egrave;s maintenant&nbsp;!&nbsp;:) <a target="_blank" href="http://www.chesnok.com/daily/2009/07/29/opensql-camp-comes-to-portland-november-14-15-2009/">http://www.chesnok.com/daily/2009/07/29/opensql-camp-comes-to-portland-november-14-15-2009/</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> <li>Le FOSDEM 2010 aura lieu &agrave; Bruxelles les 6 &amp; 7 f&eacute;vrier 2010&nbsp;: <a target="_blank" href="http://www.fosdem.org/">http://www.fosdem.org/</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>Tatsuo Ishii a commit&eacute;&nbsp;:</p> <ul> <li>Multi-threaded version of pgbench contributed by ITAGAKI Takahiro, reviewed by Greg Smith and Josh Williams.</li> </ul> <p>Tom Lane a commit&eacute;&nbsp;:</p> <ul> <li>Portability and documentation fixes for threaded pgbench patch.</li> <li>Cause pg_proc.probin to be declared as text, not bytea. Everything was already treating it as text anyway, to the point that I couldn't find anything to change except the datatype markings in catalog/*.h. The only effect that the bytea declaration had was to cause byteaout() to be invoked when pg_dump (or another client program) inspected the column value. Since pg_dump wasn't expecting that, but just treating what it got as text, the net result is that dump and reload would mangle any backslashes or non-ASCII characters in the filename string for a C-language function. That is a very long-standing bug, but given the lack of field complaints it doesn't seem worth trying to find a back-patchable fix. We'll just make this change to fix it going forward. This change will also forestall problems after the planned change to let bytea emit hex output instead of escaped characters.</li> <li>Support hex-string input and output for type BYTEA. Both hex format and the traditional "escape" format are automatically handled on input. The output format is selected by the new GUC variable bytea_output. As committed, bytea_output defaults to HEX, which is an *incompatible change*. We will keep it this way for awhile for testing purposes, but should consider whether to switch to the more backwards-compatible default of ESCAPE before 8.5 is released. Peter Eisentraut</li> <li>In pgsql/src/interfaces/libpq/fe-exec.c, teach PQescapeByteaConn() to use hex format when the target connection is to a server &gt;= 8.5. Per my proposal in discussion of hex-format patch.</li> <li>Ooops, missed that a couple of contrib modules have calls to byteacmp. Add bytea.h inclusions as needed. Some of the contrib regression tests need to be de-hexified, too. Per buildfarm.</li> <li>In pgsql/src/bin/pg_dump/pg_dump.c, suppress pointer-signedness warning.</li> <li>Fix some more regression tests (missed these because they're only run when built with --with-openssl).</li> <li>Fix an ecpg test, too. Are we there yet?</li> <li>Fix pg_dump to do the right thing when escaping the contents of large objects. The previous implementation got it right in most cases but failed in one: if you pg_dump into an archive with standard_conforming_strings enabled, then pg_restore to a script file (not directly to a database), the script will set standard_conforming_strings = on but then emit large object data as nonstandardly-escaped strings. At the moment the code is made to emit hex-format bytea strings when dumping to a script file. We might want to change to old-style escaping for backwards compatibility, but that would be slower and bulkier. If we do, it's just a matter of reimplementing appendByteaLiteral(). This has been broken for a long time, but given the lack of field complaints I'm not going to worry about back-patching.</li> <li>Add matchorig, matchsynonyms, and keepsynonyms options to contrib/dict_xsyn. Sergey Karpov.</li> <li>Improve plpgsql's ability to cope with rowtypes containing dropped columns, by supporting conversions in places that used to demand exact rowtype match. Since this issue is certain to come up elsewhere (in fact, already has, in ExecEvalConvertRowtype), factor out the support code into new core functions for tuple conversion. I chose to put these in a new source file since heaptuple.c is already overly long. Heavily revised version of a patch by Pavel Stehule.</li> <li>Fix some omissions in the dependency-object-class support for SQL/MED objects. Main problem found by Muhammad Aqeel, some cosmetic additions by me.</li> <li>Remove long-since-unused file commands/version.h. Noticed by Itagaki Takahiro.</li> <li>In pgsql/src/backend/access/transam/xlog.c, rm_cleanup functions need to be allowed to write WAL entries. This oversight appears to explain the recent reports of "PANIC: cannot make new WAL entries during recovery".</li> <li>In pgsql/src/bin/psql/copy.c, try to defend against the possibility that libpq is still in COPY_IN state when we reach the post-COPY "pump it dry" error recovery code that was added 2006-11-24. Per a report from Neil Best, there is at least one code path in which this occurs, leading to an infinite loop in code that's supposed to be making it more robust not less so. A reasonable response seems to be to call PQputCopyEnd() again, so let's try that. Back-patch to all versions that contain the cleanup loop.</li> <li>Modify parallel pg_restore to track pending and ready items by means of two new lists, rather than repeatedly rescanning the main TOC list. This avoids a potential O(N2) slowdown, although you'd need a *lot* of tables to make that really significant; and it might simplify future improvements in the scheduling algorithm by making the set of ready items more easily inspectable. The original thought that it would in itself result in a more efficient job dispatch order doesn't seem to have been borne out in testing, but it seems worth doing anyway.</li> <li>In pgsql/src/backend/access/transam/xlog.c, document that LocalSetXLogInsertAllowed can be re-executed. Per comment from Simon Riggs.</li> </ul> <p>Joe Conway a commit&eacute;&nbsp;:</p> <ul> <li>Implement has_sequence_privilege() Add family of functions that did not exist earlier, mainly due to historical omission. Original patch by Abhijit Menon-Sen, with review and modifications by Joe Conway. catversion.h bumped.</li> <li>Implement dblink_get_notify(). Adds the ability to retrieve async notifications using dblink, via the addition of the function dblink_get_notify(). Original patch by Marcus Kempe, suggestions by Tom Lane and Alvaro Herrera, patch review and adjustments by Joe Conway.</li> </ul> <p>Alvaro Herrera a commit&eacute;&nbsp;:</p> <ul> <li>Avoid including miscadmin.h into plpgsql.h; instead include it into the two source files that need it.</li> <li>Fix manpages related to SPI functions. This patch adds declaration so that they end up in section 3, and adds them to the Makefiles to install them. Also, some synopses needed reflowing so that they look nice in 80-column terminals.</li> <li>Document that autovacuum may run ANALYZE.</li> </ul> <p>Peter Eisentraut a commit&eacute;&nbsp;:</p> <ul> <li>Use DocBook XSL stylesheets for man page building This switches the man page building process to use the DocBook XSL stylesheet toolchain. The previous targets for Docbook2X are removed. configure has been updated to look for the new tools. The Documentation appendix contains the new build instructions. There are also a few isolated tweaks in the documentation to improve places that came out strangely in the man pages.</li> <li>Expand test coverage support to entire tree. Test coverage support now covers the entire source tree, including contrib, instead of just src/backend. In a related but independent development, the commands make coverage and make coverage-html can be run in any directory. This turned out to be much easier than feared. Besides a few ad hoc fixes to pass the make target down the tree, change all affected makefiles to list their directories in the SUBDIRS variable, changed from variants like DIRS and WANTED_DIRS. MSVC build fix was attempted as well.</li> <li>Ship documentation without intermediate tarballs. Documentation files in HTML and man formats are now prepared for distribution using the distprep make target, like everything else. They are placed in doc/src/sgml/html and manX and installed from there by make install, if present. The business with the tarballs in the tarball is gone.</li> </ul> <p>Michael Meskes a commit&eacute;&nbsp;:</p> <ul> <li>In pgsql/src/interfaces/ecpg/preproc/ecpg.c, fixed copyright notice.</li> <li>Added STRING datatype for Informix compatibility mode. This work is based on a patch send in by Zoltan Boszormenyi.</li> </ul> <p>Heikki Linnakangas a commit&eacute;&nbsp;:</p> <ul> <li>Improve error messages in md.c. When a filesystem operation like open() or fsync() fails, say "file" rather than "relation" when printing the filename. This makes messages that display block numbers a bit confusing. For example, in message 'could not read block 150000 of file "base/1234/5678.1"', 150000 is the block number from the beginning of the relation, ie. segment 0, not 150000th block within that segment. Per discussion, users aren't usually interested in the exact location within the file, so we can live with that. To ease constructing error messages, add FilePathName(File) function to return the pathname of a virtual fd.</li> <li>In pgsql/src/backend/postmaster/postmaster.c, fast shutdown stop should forcibly disconnect any active backends, even if a smart shutdown is already in progress. Backpatch to 8.3, this was broken in the patch that introduced "dead-end backends". Per report by Itagaki Takahiro, patch by Fujii Masao.</li> </ul> <p>Magnus Hagander a commit&eacute;&nbsp;:</p> <ul> <li>In pgsql/src/backend/postmaster/postmaster.c, avoid terminating the postmaster on a number of "can't happen" cases during backend startup on Win32. Instead, log the error and just forget about the potentially dangling process, since we can't do anything about it anyway.</li> </ul> <p>Bruce Momjian a commit&eacute;&nbsp;:</p> <ul> <li>In pgsql/src/interfaces/ecpg/ecpglib/data.c, remove unused ecpg variable.</li> </ul> <p><strong>Correctifs rejet&eacute;s (&agrave; ce jour)</strong></p> <ul> <li>No one was disappointed this week :-)</li> </ul> <p><strong>Correctifs en attente</strong></p> <ul> <li>Robert Haas sent in another revision of his autogenerating headers and bki patch.</li> <li>Zoltan Boszormenyi sent in three more revisions of his ECPG patches.</li> <li>Pavel Stehule sent in a patch to fix the dropped columns issue in RETURN QUERY.</li> <li>Brendan Jurd sent in two more revisions of the EEEE formatting patch. Alvaro Herrera sent in another version replacing calls to a cleanup function with a PG_TRY block.</li> <li>Alvaro Herrera sent in a patch to add a new byeta.h that doesn't include byteain or byteaout.</li> <li>Bernd Helmle sent in two more revisions of Pavel Stehule's patch for mixed, named notation support in PL/pgsql.</li> <li>Tom Lane sent in a patch for the archives which switches the default bytea handling to hex.</li> <li>Teodor Sigaev sent in new versions of patches to add unaccent and a filter dictionary to textsearch.</li> <li>Teodor Sigaev sent in another revision of the patch to support prefixes in synonym dictionaries.</li> <li>Zdenek Kotala sent in a patch to fix breakage of --libeditpreferred.</li> <li>Michael Paquier sent in a patch to allow pgbench to launch shell commands.</li> <li>Robert Haas sent in another revision of his machine-readable explain output patch.</li> <li>Michael Paquier sent in a patch to improve 2PC by sending the state files of prepared transactions to shared memory instead of disk.</li> <li>Pierre Frederic Caillaud sent in a patch to compress tables and indexes.</li> <li>Herodotos Herodotou and Nedyalko Borisov sent in a patch which extends the query optimizer to consider joins between child tables when hierarchies are joined together.</li> <li>Pierre Frederic Caillaud sent in a patch to apply readahead to sparse files.</li> <li>Mark Kirkwood sent in another revision of the lockstats patch.</li> <li>Petr (PJMODOS) Jelinek sent in two more revisions of his GRANT ON ALL IN schema patch.</li> </ul>