<p><strong>Nouvelles hebdomadaires de PostgreSQL - 29 mars 2009</strong></p> <p>Les derniers points pour le dernier CommitFest de la 8.4 ont &eacute;t&eacute; termin&eacute;s. Attendez-vous &agrave; une annonce majeure dans le courant de la semaine. [ndt: <a href="http://wiki.postgresql.org/wiki/CommitFest_2008-11">http://wiki.postgresql.org/wiki/CommitFest_2008-11</a>]</p> <p>Le d&eacute;p&ocirc;t Git prend maintenant en charge les logins communautaires, et est nettement plus facile &agrave; utiliser et &agrave; g&eacute;rer&nbsp;: <a target="_blank" href="http://git.postgresql.org/">http://git.postgresql.org/</a></p> <p>Nouveau sondage&nbsp;: Quel est votre outil de r&eacute;plication favori&nbsp;? <a target="_blank" href="http://www.postgresql.org/community/">http://www.postgresql.org/community/</a></p> <p>Devrim GUNDUZ a publi&eacute; un nouvel ensemble de paquets RPM de test. Lancez-vous et testez&nbsp;:) <a target="_blank" href="http://yum.pgsqlrpms.org/news-8.4devel-ready-for-testing.php">http://yum.pgsqlrpms.org/news-8.4devel-ready-for-testing.php</a></p> <p><strong>Les nouveaut&eacute;s des produits d&eacute;riv&eacute;s</strong></p> <ul> <li>pgAdmin 1.10 beta 2, un outil graphique de gestion pour PostgreSQL&nbsp;: <a target="_blank" href="http://www.postgresql.org/ftp/pgadmin3/release/v1.10.0-beta2/">http://www.postgresql.org/ftp/pgadmin3/release/v1.10.0-beta2/</a></li> <li>DBD::Pg 2.12.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><strong>L'astuce de la semaine</strong></p> <p>Vous pouvez utiliser un fichier pg_service pour mettre en place diff&eacute;rents "profils" de connexions &agrave; vos serveurs.</p> <p><strong>La fonctionnalit&eacute; 8.4 de la semaine</strong></p> <p>Nettoyage SSL&nbsp;: Magnus Hagander a nettoy&eacute; le code de connexion SSL afin de le rendre plus intuitif et plus fiable. Cela permet &eacute;galement d'indiquer, pour une connexion sp&eacute;cifique, quel certificat doit &ecirc;tre utilis&eacute;.</p> <p>(<a target="_blank" href="http://www.postgresql.org/community/weeklynews/pwn20090329">lien vers l'article original</a>)</p> <p><strong>Offres d'emplois autour de PostgreSQL en mars</strong></p> <ul> <li><a target="_blank" href="http://archives.postgresql.org/pgsql-jobs/2009-03/threads.php">http://archives.postgresql.org/pgsql-jobs/2009-03/threads.php</a></li> </ul> <p><strong>PostgreSQL Local</strong></p> <ul> <li>PostgreSQLFr tiendra un stand aux Solutions Linux 2009 &agrave; Paris. Volontaires&nbsp;: sas (a) postgresql (point) fr, ou sur le wiki&nbsp;: <a target="_blank" href="http://postgresql.fr/sl2009:start">http://postgresql.fr/sl2009:start</a></li> <li>Les inscriptions pour la "PostgreSQL Conference (JDCon) East 2009" sont &agrave; pr&eacute;sent ouvertes&nbsp;: <a target="_blank" href="http://www.postgresql.us/purchase">http://www.postgresql.us/purchase</a></li> <li>Kevin Kempter fera une pr&eacute;sentation des sauvegardes et des r&eacute;cup&eacute;rations lors de la premi&egrave;re r&eacute;union du PUG de Denver, le 8 avril 2009&nbsp;: <a target="_blank" href="http://www.diapug.org/Meeting.html">http://www.diapug.org/Meeting.html</a></li> <li>Le PgDay de Brasilia aura lieu le 17 avril. Contactez [fernando.ike (a) gmail (point) com] ou [eduardo (a) planejamento (point) gov (point) br] pour participer.</li> <li>Percona Performance Conference will be taking place at the Santa Clara Convention Center, Santa Clara, California USA <a target="_blank" href="http://conferences.percona.com/">http://conferences.percona.com/</a></li> <li>L'appel aux conf&eacute;rences est lanc&eacute; pour le PgDay de S&atilde;o Paulo, programm&eacute; le 24 avril. Contactez [marins (point) consultoria (a) gmail (point) com] ou [marcelojscosta (a) gmail (point) com] pour participer.</li> <li>"PostgreSQL Conference, U.S. (JDCon)" organise un PgDay lors de la "LinuxFest Northwest" (25 &amp; 26 avril). L'appel aux conf&eacute;rences est consultable &agrave; l'adresse&nbsp;: <a target="_blank" href="http://www.postgresqlconference.org/">http://www.postgresqlconference.org/</a></li> <li>Il y aura &eacute;galement des PgDays les 29 et 30 avril, respectivement &agrave; Porto Velho (RO) et Ji-Parana (RO). Contactez Luis Fernando Bueno&nbsp;: [proflfbueno (a) gmail (point) com] pour participer.</li> <li>Michael Renner animera un atelier sur la r&eacute;plication PostgreSQL lors des "Netways OSDC", les 29 et 30 avril 2009, &agrave; Nuremberg (All.)&nbsp;: <a target="_blank" href="http://www.netways.de/english/osdc/y2009/programm/w/michael_renner_postgresql_repliziert_ein_ueberblick/">http://www.netways.de/english/osdc/y2009/programm/w/michael_renner_postgresql_repliziert_ein_ueberblick/</a></li> <li>La PGCon 2009 se tiendra &agrave; l'Universit&eacute; d'Ottawa les 21 et 22 mai 2009. Elle sera pr&eacute;c&eacute;d&eacute;e de deux jours de tutoriels les 19 &amp; 20 mai&nbsp;: <a target="_blank" href="http://www.pgcon.org/2009/">http://www.pgcon.org/2009/</a></li> <li>Notez la date&nbsp;: pgDay San Jose, dimanche 19 juillet juste avant l'OSCON. Appel &agrave; conf&eacute;renciers, plus d'infos sous peu&nbsp;!</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.</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> </ul> <p><i>PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter et Josh Berkus. La traduction en est assur&eacute;e par l'&eacute;quipe PostgreSQLFr.</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>Peter Eisentraut a commit&eacute;&nbsp;:</p> <ul> <li>In pgsql/src/pl/tcl/expected/pltcl_queries_1.out, add expected file for locale-enabled installations.</li> <li>In pgsql/src/bin/psql/help.c, fix my typo.</li> <li>In pgsql/src/bin/psql/command.c, no period if it's not a sentence.</li> <li>Polish SQL/MED terminology</li> <li>In pgsql/src/bin/psql/help.c, in the \? output, align the columns consistently.</li> <li>In pgsql/src/bin/psql/help.c, update line count for \? output (obtained from wc -l).</li> <li>In pgsql/src/backend/catalog/catalog.c, complete list of valid fork names, and use double quotes.</li> <li>In pgsql/src/backend/libpq/hba.c, use double quotes instead of single quotes.</li> <li>Gettext plural support. In the backend, I changed only a handful of exemplary or important-looking instances to make use of the plural support; there is probably more work there. For the rest of the source, this should cover all relevant cases.</li> </ul> <p>Bruce Momjian a commit&eacute;&nbsp;:</p> <ul> <li>In pgsql/doc/src/sgml/release.sgml, reorder 8.4 release note sections.</li> <li>In pgsql/doc/src/sgml/release.sgml, correction: ansi-join -&gt;anti-join.</li> <li>In pgsql/doc/src/sgml/release.sgml, document that Datestyle no longer controls interval output, per suggestion from Ron Mayer</li> <li>In pgsql/doc/src/sgml/release.sgml, remove duplicate interval (fractional seconds) items; Ron Mayer.</li> <li>In pgsql/doc/src/sgml/release.sgml, improved release notes interval wording.</li> <li>In pgsql/doc/src/sgml/release.sgml, Fix release note attribution: "Support the IS0 8601 time interval syntax (Tom, Kevin Grittner)" per Ron Mayer.</li> <li>In pgsql/doc/src/sgml/release.sgml, first round of release note changes from Guillaume Smet.</li> <li>In pgsql/doc/src/sgml/release.sgml, mark Greg Sabino Mullane as the instigator of the statistics target increase.</li> <li>In pgsql/doc/src/sgml/release.sgml, second batch of release note fixes by Guillaume Smet.</li> <li>In pgsql/doc/src/sgml/release.sgml, updated release wording, per Greg Stark.</li> <li>In pgsql/doc/src/sgml/release.sgml, document in release notes that NOT IN is only for NOT EXIST clauses. Andrew (RhodiumToad) Gierth.</li> <li>In pgsql/doc/src/sgml/monitoring.sgml, add documentation of the fact that dtrace probes evaluate their parameters even when not active. Explain how to prevent that with an ENABLED() check.</li> <li>Better document PQinitSSL(0) behavior in regards to libcrypto.</li> <li>In pgsql/doc/src/sgml/ref/alter_role.sgml, better document that SET ROLE does not uset ALTER ROLE SET settings; suggested wording from Josh Berkus.</li> <li>In pgsql/doc/src/sgml/release.sgml, update release notes to say citext is multi-byte aware, per suggestion from patch author.</li> <li>In pgsql/src/interfaces/libpq/fe-secure.c, clarify variable naming: pq_initssllib -&gt; pq_init_ssl_lib.</li> <li>In pgsql/doc/src/sgml/release.sgml, consistent 8.4 release note naming for Itagaki Takahiro.</li> <li>In pgsql/doc/src/sgml/release.sgml, add SGML markup for commands/literal/application/etc in release notes; still more work to do.</li> <li>In pgsql/doc/src/sgml/release.sgml, more release note markup.</li> <li>In pgsql/doc/src/sgml/release.sgml, more release note markup.</li> <li>- In pgsql/doc/src/sgml/release.sgml, re-add release notes for release 8.3.7.</li> <li>In pgsql/doc/src/sgml/config.sgml, update constraint_exclusion docs because parameter is now 3-valued, not just enable/disable.</li> <li>In pgsql/doc/src/sgml/release.sgml, first version of 8.4 release notes; markup/cleanup/reorganization still required.</li> <li>In pgsql/doc/src/sgml/release.sgml, mention release note items current as of 2009-03-16.</li> <li>In pgsql/doc/src/sgml/release.sgml, adjust AS OF release notes markup.</li> </ul> <p>Tom Lane a commit&eacute;&nbsp;:</p> <ul> <li>Const-ify the parse table passed to fillRelOptions. The previous coding meant it had to be built on-the-fly at each entry to default_reloptions.</li> <li>Implement "fastupdate" support for GIN indexes, in which we try to accumulate multiple index entries in a holding area before adding them to the main index structure. This helps because bulk insert is (usually) significantly faster than retail insert for GIN. This patch also removes GIN support for amgettuple-style index scans. The API defined for amgettuple is difficult to support with fastupdate, and the previously committed partial-match feature didn't really work with it either. We might eventually figure a way to put back amgettuple support, but it won't happen for 8.4. catversion bumped because of change in GIN's pg_am entry, and because the format of GIN indexes changed on-disk (there's a metapage now, and possibly a pending list). Teodor Sigaev.</li> <li>In pgsql/src/backend/optimizer/plan/planner.c, fix stupid parenthesization mistake. Per bug #4728 from Bruce Toll.</li> <li>Install a search tree depth limit in GIN bulk-insert operations, to prevent them from degrading badly when the input is sorted or nearly so. In this scenario the tree is unbalanced to the point of becoming a mere linked list, so insertions become O(N2). The easiest and most safely back-patchable solution is to stop growing the tree sooner, ie limit the growth of N. We might later consider a rebalancing tree algorithm, but it's not clear that the benefit would be worth the cost and complexity. Per report from Sergey Burladyan and an earlier complaint from Heikki Linnakangas. Back-patch to 8.2; older versions didn't have GIN indexes.</li> <li>In pgsql/contrib/pgcrypto/pgp.h, fix old thinko in pgp.h: the idea is to declare some named enum types, not global variables of anonymous enum types. This didn't actually hurt much because most linkers will just merge the duplicated definitions ... but some will complain. Per bug #4731 from Ceriel Jacobs. Backpatch to 8.1 --- the declarations don't exist before that.</li> <li>Adjust the APIs for GIN opclass support functions to allow the extractQuery() method to pass extra data to the consistent() and comparePartial() methods. This is the core infrastructure needed to support the soon-to-appear contrib/btree_gin module. The APIs are still upward compatible with the definitions used in 8.3 and before, although *not* with the previous 8.4devel function definitions. catversion bump for changes in pg_proc entries (although these are just cosmetic, since GIN doesn't actually look at the function signature before calling it...). Teodor Sigaev and Oleg Bartunov</li> <li>Add btree_gin contrib module. Teodor Sigaev and Oleg Bartunov.</li> <li>In pgsql/doc/src/sgml/release.sgml, fix markup so that 'make HISTORY' works. A couple very minor editorial improvements.</li> <li>If we expect a hash join to be performed in multiple batches, suppress "physical tlist" optimization on the outer relation (ie, force a projection step to occur in its scan). This avoids storing useless column values when the outer relation's tuples are written to temporary batch files. Modified version of a patch by Michael Henderson and Ramon Lawrence.</li> <li>In pgsql/src/backend/commands/copy.c, adjust phrasing of complaints about multi-byte COPY delimiter strings. Per pgsql-hackers discussion of 2009-02-17.</li> <li>Fix a couple of places that still claimed LC_COLLATE and LC_CTYPE can't be changed after initdb.</li> <li>In pgsql/contrib/pg_standby/pg_standby.c, Make pg_standby's maxretries option do what one would expect. Fujii Masao.</li> <li>In pgsql/src/backend/catalog/index.c, teach reindex_index() to clear pg_index.indcheckxmin when possible. Greg Stark, slightly modified by me.</li> <li>Fix possible failures when a tuplestore switches from in-memory to on-disk mode while callers hold pointers to in-memory tuples. I reported this for the case of nodeWindowAgg's primary scan tuple, but inspection of the code shows that all of the calls in nodeWindowAgg and nodeCtescan are at risk. For the moment, fix it with a rather brute-force approach of copying whenever one of the at-risk callers requests a tuple. Later we might think of some sort of reference-count approach to reduce tuple copying.</li> <li>In pgsql/src/backend/utils/adt/xml.c, add an errdetail explaining why we reject infinite dates and timestamps while converting to XML. Bernd Helmle</li> <li>On Solaris, we should only force use of our own getopt(); it's okay to use the system's getopt_long(). The previous coding was the result of a sloppy discussion that failed to draw this distinction. The result was that PG programs don't handle options as users of that platform expect. Per gripe from Chuck McDevitt. Although this is a pre-existing bug, I'm not backpatching since I think we could do with a bit of beta testing before concluding this is really OK.</li> </ul> <p>Andrew Dunstan a commit&eacute;&nbsp;:</p> <ul> <li>Remove munging of xml and xpath params to xpath(). The XML must now be a well formed XML document.</li> </ul> <p>Magnus Hagander a commit&eacute;&nbsp;:</p> <ul> <li>In pgsql/doc/src/sgml/release.sgml, fix release notes about pg_hba changes.</li> <li>In pgsql/doc/src/sgml/release.sgml, clarify new SSL certificate verification in libpq.</li> <li>In pgsql/doc/src/sgml/release.sgml, fix markup, per Devrim GUNDUZ.</li> </ul> <p>Heikki Linnakangas a commit&eacute;&nbsp;:</p> <ul> <li>In pgsql/src/bin/psql/tab-complete.c, fix tab completion of ANALYZE VERBOSE &gt;tab&lt;. It was previously confused with EXPLAIN ANALYZE VERBOSE. Greg Sabino Mullane, reformatted by myself. Backpatch to 8.1, where the bug was introduced.</li> </ul> <p><strong>Correctifs rejet&eacute;s (&agrave; ce jour)</strong></p> <ul> <li>Srinath K's patch to implement a global index on partitioned tables, as it came with an IP disclaimer which precluded anyone's looking at it.</li> <li>Hitoshi Harada's patches to fix a tuplestore API issue where a ScanTupleSlot is not always valid as long as the tuplestore-handling code expects it to be. Tom Lane used forced copying instead.</li> </ul> <p><strong>Correctifs en attente</strong></p> <ul> <li>Kedar Potdar sent in a patch to do automatic partioning.</li> <li>KaiGai Kohei sent in another revision of his SE-PostgreSQL patches.</li> <li>Zdenek Kotala sent in another patch to fix the regression tests on the Czech (cs_CZ) locale.</li> <li>Fujii Masao sent in a patch which adds a new trigger option to pg_standby to fix a pg_standby failure mode.</li> <li>Andrew (RhodiumToad) Gierth sent in a patch to change hstore so that keys and values can be of arbitrary length, so long as the hstore itself fits in varlena, supports btree and hash opclasses for hstores, which in turn allow for UNIQUE constraints, and aggregation, adds binary I/O, a flock of operators which relate hstores to text, text[] and record, adds GiST and GIN support, converts between hstore and record, and populates a record from an hstore.</li> <li>Andrew (RhodiumToad) Gierth sent in a patch which causes GET DIAGNOSTICS ROW_COUNT to work for MOVE and FETCH in PL/pgSQL.</li> <li>Pavel Stehule sent in an example contrib module to implement a JSON type using the WIP transformation hook modules.</li> <li>Bruce Momjian sent in a patch which makes a more informative error message when someone changes a GUC parameter which can only take one value.</li> <li>Taro Minowa sent in a patch for 8.5 which allows pg_dump to dump comments on columns which are composite types.</li> </ul>