Ceci est une ancienne révision du document !
<p><strong>Nouvelles hebdomadaires de PostgreSQL - 8 février 2009</strong></p>
<p>PostgreSQL 8.3.6, 8.2.12, 8.1.16, 8.0.20 et 7.4.24 sont disponibles. Mettez à jour !
<a target="_blank" href="http://www.postgresql.org/docs/current/static/release.html">http://www.postgresql.org/docs/current/static/release.html</a></p>
<p>Le second appel à conférenciers pour la "PostgreSQL Conference East" arrive à échéance le 23 février 2009 :
<a target="_blank" href="http://www.postgresqlconference.org/">http://www.postgresqlconference.org/</a></p>
<p>If you'd like to stuff folders at the LAPUG Pizza Party, Friday, February 20th at the Westin in Los Angeles, write to lapug AT postgresql DOT org to volunteer.<br>
<i>Si vous êtes motivé pour remplir des sacoches lors de la "Pizza Party" du LAPUG, vendredi 20 février au Westin de Los Angeles, écrivez à lapug (a) postgresql (point) org pour vous signaler.</i></p>
<p><strong>Les nouveautés des produits dérivés</strong></p>
<ul>
<li>pgpool-II 2.2 beta2 :
<a target="_blank" href="http://pgfoundry.org/projects/pgpool/">http://pgfoundry.org/projects/pgpool/</a></li>
</ul>
<p><strong>L'astuce de la semaine</strong></p>
<p>En attendant que la version 8.4 en offre une implémentation native et super-efficace, vous pouvez ajouter la fonction array_accum() (cf. documentation) pour "étaler" une colonne dans un tableau ; tableau qui pourra ensuite être utilisé au niveau de l'application, ou bien combiné avec array_to_string() pour le formater comme une liste :
<a target="_blank" href="http://www.postgresql.org/docs/current/static/xaggr.html">http://www.postgresql.org/docs/current/static/xaggr.html</a></p>
<p>(<a target="_blank" href="http://www.postgresql.org/community/weeklynews/pwn20090208">lien vers l'article original</a>)</p>
<p><strong>Offres d'emplois autour de PostgreSQL en février</strong></p>
<ul>
<li><a target="_blank" href="http://archives.postgresql.org/pgsql-jobs/2009-02/threads.php">http://archives.postgresql.org/pgsql-jobs/2009-02/threads.php</a></li>
</ul>
<p><strong>PostgreSQL Local</strong></p>
<ul>
<li>Le JNBPUG se réunira le 9 février à 19h au News Cafe sur New Road à Midrand.</li>
<li>Stephen Frost parlera des permissions "par colonnes" au BWPUG [ndt: Baltimore/Washington], le 9 février à 18h30 dans les bureaux d'OmniTI :
<a target="_blank" href="http://pugs.postgresql.org/bwpug">http://pugs.postgresql.org/bwpug</a></li>
<li>Le "Prague PostgreSQL Developers' Day 2009" (P2D2) aura lieu le 12 février 2009 :
<a target="_blank" href="http://www.postgresql.org/about/event.808">http://www.postgresql.org/about/event.808</a><br>
Programme :
<a target="_blank" href="http://www.postgres.cz/p2d2/2009/sched_en.html">http://www.postgres.cz/p2d2/2009/sched_en.html</a></li>
<li>L'association des utilisateurs bulgares de PostgreSQL se réunira le 12 février 2009 à 19h au Vinarnata, 19 rue Lavele à Sofia :
<a target="_blank" href="http://www.doodle.com/participation.html?pollId=vb788q7v8ybi4z39">http://www.doodle.com/participation.html?pollId=vb788q7v8ybi4z39</a></li>
<li>Le SFPUG est fier de présenter : Reece Hart, "Unison DB for Computational Biology", le 10 février 2009. Locations ouvertes aux préinscrits :
<a target="_blank" href="http://postgresql.meetup.com/1/calendar/9351228/">http://postgresql.meetup.com/1/calendar/9351228/</a></li>
<li>PostgreSQL sera au "SCALE" du 20 au 22 février à Los Angeles :
<a target="_blank" href="http://www.socallinuxexpo.org/">http://www.socallinuxexpo.org/</a></li>
<li>Conférence d'Andreas 'ads' Scherbaum lors du "Perl Workshop 2009" le 25 février à Francfort-sur-le-Main, en Allemagne :
<a target="_blank" href="http://www.perl-workshop.de/talks/151/view">http://www.perl-workshop.de/talks/151/view</a></li>
<li>"PostgreSQL Conference, U.S." organise un PgDay lors de la "LinuxFest Northwest" (25 & 26 avril). L'appel aux conférences est visible à l'adresse :
<a target="_blank" href="http://www.postgresqlconference.org/">http://www.postgresqlconference.org/</a></li>
<li>La PGCon 2009 se tiendra à l'Université d'Ottawa les 21 et 22 mai 2009. Elle sera précédée de deux jours de tutoriels les 19 & 20 mai :
<a target="_blank" href="http://www.pgcon.org/2009/papers.php">http://www.pgcon.org/2009/papers.php</a></li>
<li>La "PGCon Brazil" prendra place à l'Unicamp de Campinas (État de São Paulo) les 23 & 24 octobre 2009.</li>
</ul>
<p><strong>PostgreSQL dans les média</strong></p>
<ul>
<li>Planet PostgreSQL :
<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ée par l'équipe PostgreSQLFr.</i></p>
<p><i>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.</i></p>
<p><strong>Correctifs appliqués</strong></p>
<p>Peter Eisentraut a commité :</p>
<ul>
<li>In pgsql/doc/src/sgml/catalogs.sgml, put pg_user_mapping section into the right (alphabetical) order.</li>
<li>In pgsql/src/backend/catalog/sql_features.txt, set column privileges to supported.</li>
</ul>
<p>Michael Meskes a commité :</p>
<ul>
<li>Fixed bug in ecpg's %s handling.</li>
<li>Fixed auto allocation for binary data types in ecpg.</li>
<li>In pgsql/src/interfaces/ecpg/test/sql/binary.pgc, set memory segment to '0', just to be sure.</li>
<li>In ecpg, when changing a regression test file one should also change the expected output file.</li>
<li>In pgsql/src/interfaces/ecpg/ecpglib/execute.c, fixed copy&paste mistake that made library use uninitialized variable.</li>
<li>In pgsql/src/interfaces/ecpg/ecpglib/execute.c, argh, wrong line copied again.</li>
<li>In ecpg, added result checks for calls to gmtime().</li>
<li>In pgsql/src/interfaces/ecpg/pgtypeslib/dt_common.c, mixing long and int entries of a union only works on some architectures.</li>
</ul>
<p>Alvaro Herrera a commité :</p>
<ul>
<li>Allow reloption names to have qualifiers, initially supporting a TOAST qualifier, and add support for this in pg_dump. This allows TOAST tables to have user-defined fillfactor, and will also enable us to move the autovacuum parameters to reloptions without taking away the possibility of setting values for TOAST tables.</li>
<li>Fix some SGML-compiler warnings on -wxml mode.</li>
</ul>
<p>Andrew Dunstan a commité :</p>
<ul>
<li>Provide for parallel restoration from a custom format archive. Each data and post-data step is run in a separate worker child (a thread on Windows, a child process elsewhere) up to the concurrent number specified by the new pg_restore command-line --multi-thread | -m switch. Andrew Dunstan, with some editing by Tom Lane.</li>
<li>Allow alternative names for tclsh used on Windows.</li>
</ul>
<p>Tom Lane a commité :</p>
<ul>
<li>In pgsql/src/pl/plpgsql/src/gram.y, fix plpgsql to not treat INSERT INTO as an INTO-variables clause anywhere in the string, not just at the start. Per bug #4629 from Martin Blazek. Back-patch to 8.2; prior versions don't have the problem, at least not in the reported case, because they don't try to recognize INTO in non-SELECT statements. (IOW, this is really fallout from the RETURNING patch.)</li>
<li>In pgsql/doc/src/sgml/ref/select.sgml, document the longstanding behavior of LIMIT NULL and OFFSET NULL, per gripe from David Wheeler that this was mentioned nowhere. In passing, editorialize a bit on the description of the SQL:2008 equivalent syntax.</li>
<li>In pgsql/src/backend/postmaster/syslogger.c, add a failure check for syslogger's use of _beginthreadex(), and remove unnecessary thread address output parameter, to make this code look more like that in pg_restore.</li>
<li>In pgsql/src/backend/optimizer/path/joinpath.c, fix an old corner-case error in match_unsorted_outer(): don't consider the cheapest-total inner path as a new candidate while truncating the sort key list, if it already matched the full sort key list. This is too much of a corner case to be worth back-patching, since it's unusual for the cheapest total path to be sorted, and anyway no real harm is done (except in JOIN_SEMI/ANTI cases where cost_mergejoin is a bit broken at the moment). But it wasn't behaving as intended, so fix it. Noted while examining a test case from Kevin Grittner. This error doesn't explain his issue, but it does explain why "set enable_seqscan = off" seemed to reproduce it for me.</li>
<li>Clean up some loose ends from the column privileges patch: add has_column_privilege and has_any_column_privilege SQL functions; fix the information_schema views that are supposed to pay attention to column privileges; adjust pg_stats to show stats for any column you have select privilege on; and fix COPY to allow copying a subset of columns if the user has suitable per-column privileges for all the columns. To improve efficiency of some of the information_schema views, extend the has_xxx_privilege functions to allow inquiring about the OR of a set of privileges in just one call. This is just exposing capability that already existed in the underlying aclcheck routines. In passing, make the information_schema views report the owner's own privileges as being grantable, since Postgres assumes this even when the grant option bit is not set in the ACL. This is a longstanding oversight. Also, make the new has_xxx_privilege functions for foreign data objects follow the same coding conventions used by the older ones. Stephen Frost and Tom Lane</li>
<li>In pgsql/doc/src/sgml/ref/copy.sgml, ooops, forgot to update COPY reference page to mention column privileges.</li>
<li>Fix cost_mergejoin's failure to adjust for rescanning of non-unique merge join keys when considering a semi or anti join. This requires estimating the selectivity of the merge qual as though it were a regular inner join condition. To allow caching both that and the real outer-join-aware selectivity, split RestrictInfo.this_selec into two fields. This fixes one of the problems reported by Kevin Grittner.</li>
<li>In pgsql/src/backend/executor/execMain.c, ensure that INSERT ... SELECT into a table with OIDs never copies row OIDs from the source table. This could never happen anyway before 8.4 because the executor invariably applied a "junk filter" to rows due to be inserted; but now that we skip doing that when it's not necessary, the case can occur. Problem noted 2008-11-27 by KaiGai Kohei, though I misunderstood what he was on about at the time (the opacity of the patch he proposed didn't help).</li>
</ul>
<p>Bruce Momjian a commité :</p>
<ul>
<li>In pgsql/doc/src/sgml/mvcc.sgml, update read committed documentation to better explain undesirable behavior of concurrent commands in cases where rows are being added and removed from matching query criteria. Minor word-smithing.</li>
<li>Add PL/PgSQL FOUND and GET DIAGNOSTICS support for RETURN QUERY statement. Pavel Stehule.</li>
<li>In pgsql/doc/src/sgml/libpq.sgml, document ways to avoid libpq WSACleanup() overhead on Windows. Andrew Chernow.</li>
<li>In pgsql/doc/src/sgml/libpq.sgml, fix typo in docs.</li>
<li>Fix to_timestamp() to not require upper/lower case matching for meridian designations (AM/PM). Also separate out matching of a meridian with periods (e.g. A.M.) and with those without. Do the same for AD/BC. Brendan Jurd</li>
<li>Document disabling the statistics collector pg_dump activity, and give a bit more visibility to the PGOPTIONS environment variable supported by libpq. Bryce Nesbitt</li>
<li>In pgsql/doc/src/sgml/catalogs.sgml, update pg_constraint.conkey documentation description.</li>
<li>In pgsql/doc/src/sgml/ref/pg_dump.sgml, properly wrap new pg_dump doc text.</li>
<li>In pgsql/src/interfaces/ecpg/ecpglib/Makefile, ecpg requires libpq; add Makefile rules to require libpq to be built first. Alvaro Herrera.</li>
<li>In pgsql/doc/src/sgml/catalogs.sgml, uppercase CHECK mention in relchecks documentation mention.</li>
<li>In pgsql/doc/src/sgml/indices.sgml, remove documentation mention that hash indexes perform no better than btree; keep mention about missing WAL logging. Kenneth Marshall</li>
<li>In pgsql/doc/src/sgml/queries.sgml, document that LIMIT NULL is the same as no LIMIT clause. Report by David Wheeler.</li>
</ul>
<p>Heikki Linnakangas a commité :</p>
<ul>
<li>In pgsql/src/backend/access/transam/xlog.c, fix obsolete comment. Zdenek Kotala.</li>
</ul>
<p><strong>Correctifs rejetés (à ce jour)</strong></p>
<ul>
<li>Pas de déception cette semaine :-)</li>
</ul>
<p><strong>Correctifs en attente</strong></p>
<ul>
<li>Fernando Ike de Oliveira sent in another revision of his patch to add \dL (show languages) to psql.</li>
<li>David Wheeler sent in a doc patch to explicate that LIMIT NULL returns all rows.</li>
<li>Zdenek Kotala sent in a fix for Czech (cs_CZ) locale regression tests.</li>
<li>Stephen Frost sent in another revision of his column-level privileges patch.</li>
<li>Teodor Sigaev sent in another revision of his GIN improvements patch.</li>
<li>KaiGai Kohei sent in another revision of his SE-PostgreSQL patches.</li>
<li>Alvaro Herrera sent in another revision of the reloptions patch to remove autovacuum parameters.</li>
<li>Peter Eisentraut sent in a patch to add basic KOI8-U support.</li>
<li>Alvaro Herrera sent in a doc patch for the reloptions patch.</li>
<li>David Lee Lambert sent in a patch which lets Linux use the ext2fs UUID generator for UUIDs.</li>
<li>Tom Lane sent in a patch to make ALTER TABLE SET WITH OIDS actually add the aforementioned OIDs.</li>
</ul>