<p><strong>Nouvelles hebdomadaires de PostgreSQL - 8 f&eacute;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 &agrave; jour&nbsp;! <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 &agrave; conf&eacute;renciers pour la "PostgreSQL Conference East" arrive &agrave; &eacute;ch&eacute;ance le 23 f&eacute;vrier 2009&nbsp;: <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 &ecirc;tes motiv&eacute; pour remplir des sacoches lors de la "Pizza Party" du LAPUG, vendredi 20 f&eacute;vrier au Westin de Los Angeles, &eacute;crivez &agrave; lapug (a) postgresql (point) org pour vous signaler.</i></p> <p><strong>Les nouveaut&eacute;s des produits d&eacute;riv&eacute;s</strong></p> <ul> <li>pgpool-II 2.2 beta2&nbsp;: <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&eacute;mentation native et super-efficace, vous pouvez ajouter la fonction array_accum() (cf. documentation) pour "&eacute;taler" une colonne dans un tableau&nbsp;; tableau qui pourra ensuite &ecirc;tre utilis&eacute; au niveau de l'application, ou bien combin&eacute; avec array_to_string() pour le formater comme une liste&nbsp;: <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&eacute;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&eacute;unira le 9 f&eacute;vrier &agrave; 19h au News Cafe sur New Road &agrave; Midrand.</li> <li>Stephen Frost parlera des permissions "par colonnes" au BWPUG [ndt: Baltimore/Washington], le 9 f&eacute;vrier &agrave; 18h30 dans les bureaux d'OmniTI&nbsp;: <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&eacute;vrier 2009&nbsp;: <a target="_blank" href="http://www.postgresql.org/about/event.808">http://www.postgresql.org/about/event.808</a><br> Programme&nbsp;: <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&eacute;unira le 12 f&eacute;vrier 2009 &agrave; 19h au Vinarnata, 19 rue Lavele &agrave; Sofia&nbsp;: <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&eacute;senter&nbsp;: Reece Hart, "Unison DB for Computational Biology", le 10 f&eacute;vrier 2009. Locations ouvertes aux pr&eacute;inscrits&nbsp;: <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&eacute;vrier &agrave; Los Angeles&nbsp;: <a target="_blank" href="http://www.socallinuxexpo.org/">http://www.socallinuxexpo.org/</a></li> <li>Conf&eacute;rence d'Andreas 'ads' Scherbaum lors du "Perl Workshop 2009" le 25 f&eacute;vrier &agrave; Francfort-sur-le-Main, en Allemagne&nbsp;: <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 &amp; 26 avril). L'appel aux conf&eacute;rences est visible &agrave; l'adresse&nbsp;: <a target="_blank" href="http://www.postgresqlconference.org/">http://www.postgresqlconference.org/</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/papers.php">http://www.pgcon.org/2009/papers.php</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.</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/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&eacute;&nbsp;:</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&amp;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&eacute;&nbsp;:</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&eacute;&nbsp;:</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&eacute;&nbsp;:</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&eacute;&nbsp;:</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&eacute;&nbsp;:</p> <ul> <li>In pgsql/src/backend/access/transam/xlog.c, fix obsolete comment. Zdenek Kotala.</li> </ul> <p><strong>Correctifs rejet&eacute;s (&agrave; ce jour)</strong></p> <ul> <li>Pas de d&eacute;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>