Nouvelles hebdomadaires de PostgreSQL - 13 novembre 2011
La cinquième conférence annuelle "Prague PostgreSQL Developers Day", organisée pas le CSPUG (PUG Tchèque & Slovaque), aura lieu le 9 février 2012 à Prague. L'appel à conférenciers est lancé. Merci d'envoyer vos propositions, incluant le sujet, une estimation de la durée et vos coordonnées à l'adresse info CHEZ p2d2 POINT cz.
Les nouveautés des produits dérivés
Offres d'emplois autour de PostgreSQL en novembre
PostgreSQL Local
- La cinquième édition du PGDay italien (PGDay.IT 2011) aura lieu le 25 novembre à Prato :
http://2011.pgday.it/
- L'appel à conférenciers est lancé pour la PostgreSQL Session #3, programmée le 2 février 2012 à Paris. La date limite de dépôt est le 30 novembre 2011 et les conférenciers sélectionnés seront contactés avant le 14 décembre. Les propositions (en français ou anglais) doivent être envoyées à call-for-paper AT postgresql-sessions DOT org. Plus d'informations sur :
http://www.postgresql-sessions.org/en/3/
- L'appel à conférenciers a été lancé pour le FLOSS UK, programmé du 20 au 22 mars 2012 à Edimbourg. La date limite de dépôt des candidatures est fixée au 18 novembre 2011 et les conférenciers sélectionnés seront informés avant le 25 novembre. Les propositions sont à envoyer à postgresql2012 AT flossuk POINT org. Plus d'informations via le lien suivant :
http://www.flossuk.org/Events/Spring2012
PostgreSQL dans les média
PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.
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 et en espagnol à pwn (a) arpug.com.ar.
(lien vers l'article original)
Revues de code
Correctifs appliqués
Tom Lane a poussé :
- On second thought, we'd better just drop these tests altogether. Further experimentation reveals that my previous change didn't fix the issue entirely: these tests would still fail at the spring-forward DST transition. There doesn't seem to be any great value in testing this specific issue for both timestamp and timestamptz, so just lose the latter tests.
http://git.postgresql.org/pg/commitdiff/f62be400c0e2369d68b4327ced721e47250dc40c
- Fix assorted bugs in contrib/unaccent's configuration file parsing. Make it use t_isspace() to identify whitespace, rather than relying on sscanf which is known to get it wrong on some platform/locale combinations. Get rid of fixed-size buffers. Make it actually continue to parse the file after ignoring a line with untranslatable characters, as was obviously intended. The first of these issues is per gripe from J Smith, though not exactly either of his proposed patches.
http://git.postgresql.org/pg/commitdiff/ced3a93ccbbd0a3866f2324662f7a1fa4c31909a
- Wrap appendrel member outputs in PlaceHolderVars in additional cases. Add PlaceHolderVar wrappers as needed to make UNION ALL sub-select output expressions appear non-constant and distinct from each other. This makes the world safe for add_child_rel_equivalences to do what it does. Before, it was possible for that function to add identical expressions to different EquivalenceClasses, which logically should imply merging such ECs, which would be wrong; or to improperly add a constant to an EquivalenceClass, drastically changing its behavior. Per report from Teodor Sigaev. The only currently known consequence of this bug is "MergeAppend child's targetlist doesn't match MergeAppend" planner failures in 9.1 and later. I am suspicious that there may be other failure modes that could affect older release branches; but in the absence of any hard evidence, I'll refrain from back-patching further than 9.1.
http://git.postgresql.org/pg/commitdiff/57664ed25e5dea117158a2e663c29e60b3546e1c
- Fix random discrepancies between parallel_schedule and serial_schedule. In particular, my previous patch expected the create_index test to run before the inherit test; but this was only true in the serial schedule. Rearrange this portion of the schedules to be more consistent. Per buildfarm results.
http://git.postgresql.org/pg/commitdiff/6d295b64945cb6ff9b64f55d1e51b5e2a1bb6f84
- Tweak new regression test case for more portability. Ensure that same index gets selected on 32-bit and 64-bit machines. Per buildfarm results.
http://git.postgresql.org/pg/commitdiff/2c30f96103c320d4e3c8cab2807d88476f584278
- Avoid platform-dependent infinite loop in pg_dump. If malloc(0) returns NULL, the binary search in findSecLabels() will probably go into an infinite loop when there are no security labels, because NULL-1 is greater than NULL after wraparound. (We've seen this pathology before ... I wonder whether there's a way to detect the class of bugs automatically?) Diagnosis and patch by Steve Singer, cosmetic adjustments by me
http://git.postgresql.org/pg/commitdiff/cf22e851b6ae8737f3e767dffcadf1722fbb36a7
- Throw nice error if server is too old to support psql's \ef or \sf command. Previously, you'd get "function pg_catalog.pg_get_functiondef(integer) does not exist", which is at best rather unprofessional-looking. Back-patch to 8.4 where \ef was introduced. Josh Kupershmidt
http://git.postgresql.org/pg/commitdiff/6f3dc00e24aa2a8e7e2c5e5095b6223712b8204c
- In plpgsql, allow foreign tables to define row types. This seems to have been just an oversight in previous foreign-table work. A quick grep didn't turn up any other places where RELKIND_FOREIGN_TABLE was obviously omitted. One change noted by Alexander Soudakov, the other by me. Back-patch to 9.1.
http://git.postgresql.org/pg/commitdiff/02d88efea1f719e59ce684c2e14bad23d55fdd15
Heikki Linnakangas a poussé :
- Fix timestamp range subdiff functions, when using float datetimes.
http://git.postgresql.org/pg/commitdiff/ffc703a891e336b9bf4b74112bd4684d1f990fab
- Adjust range type docs for some last-minute changes I made to the patch. non_empty(anyrange) function was removed, empty(anyrange) was renamed to isempty(anyrange), and !? operators were removed.
http://git.postgresql.org/pg/commitdiff/fbf99d2f16a82f13564bbd21689d018ecc72de01
- Make DatumGetInetP() unpack inet datums with a 1-byte header, and add a new macro, DatumGetInetPP(), that does not. This brings these macros in line with other DatumGet*P() macros. Backpatch to 8.3, where 1-byte header varlenas were introduced.
http://git.postgresql.org/pg/commitdiff/3b8161723c645853021b57330dd2ea0484ec6131
- In COPY, insert tuples to the heap in batches. This greatly reduces the WAL volume, especially when the table is narrow. The overhead of locking the heap page is also reduced. Reduced WAL traffic also makes it scale a lot better, if you run multiple COPY processes at the same time.
http://git.postgresql.org/pg/commitdiff/d326d9e8ea1d690cf6d968000efaa5121206d231
- Fix bugs in the COPY heap-insert batching patch. Forgot to call RestoreBkpBlocks() in the redo-function, as pointed out by Simon Riggs. In redo of a regular heap insert, it's taken care of in heap_redo(), but this new record type uses the heap2 RM, and heap2_redo() does not take care of that for you. Also, failed to reset the vmbuffer and all_visibile_cleared local variables after switching to a new buffer.
http://git.postgresql.org/pg/commitdiff/f81648cb1ee5ce8d2e479a17db512046012c77e7
- Fix another bug in the redo of COPY batches. I got alignment wrong in the redo routine. Spotted by redoing the log generated by copy regression test.
http://git.postgresql.org/pg/commitdiff/2e02280726f5ca7a8e3c76e1491eaf5ab00fc8f4
Robert Haas a poussé :
- Minor grammar improvements.
http://git.postgresql.org/pg/commitdiff/bd2396988a1afbcb6424700e52a62f34d2951bdd
- Make VACUUM avoid waiting for a cleanup lock, where possible. In a regular VACUUM, it's OK to skip pages for which a cleanup lock isn't immediately available; the next VACUUM will deal with them. If we're scanning the entire relation to advance relfrozenxid, we might need to wait, but only if there are tuples on the page that actually require freezing. These changes should greatly reduce the incidence of of vacuum processes getting "stuck". Simon Riggs and Robert Haas
http://git.postgresql.org/pg/commitdiff/bbb6e559c4ea0fb4c346beda76736451dc24eb4e
- Remove hstore's text => text operator. Since PostgreSQL 9.0, we've emitted a warning message when an operator named => is created, because the SQL standard now reserves that token for another use. But we've also shipped such an operator with hstore. Use of the function hstore(text, text) has been recommended in preference to =>(text, text). Per discussion, it's now time to take the next step and stop shipping the operator. This will allow us to prohibit the use of => as an operator name in a future release if and when we wish to support the SQL standard use of this token. The release notes should mention this incompatibility. Patch by me, reviewed by David Wheeler, Dimitri Fontaine and Tom Lane.
http://git.postgresql.org/pg/commitdiff/b60653bc0b75b7f3b5dda0a2968a22129aafb2b2
- Rewrite comment for slightly greater accuracy. Per an observation from Thom Brown that the old version contained a typo.
http://git.postgresql.org/pg/commitdiff/0e1c4b7d974b9ff3b1cd62a9689a8560a8bab60e
- Fix hstore regression tests. This was an oversight in commit b60653bc0b75b7f3b5dda0a2968a22129aafb2b2. Also, fix a typo spotted by Thom Brown.
http://git.postgresql.org/pg/commitdiff/bb1afb528a9154e21fe8ffe7e5c6dbf4a753136c
- Fix compiler warning.
http://git.postgresql.org/pg/commitdiff/452d1d193d3b15c4ff8ef56a9b50bdb91ea0665e
- Revert removal of trace_userlocks, because userlocks aren't gone. This reverts commit 0180bd6180511875db046bf8ddcaa633a2952dfd. contrib/userlock is gone, but user-level locking still exists, and is exposed via the pg_advisory* family of functions.
http://git.postgresql.org/pg/commitdiff/71b2b657c034743f81ae7906d7b0fcc8e9a0a6a3
- Correct documentation for trace_userlocks.
http://git.postgresql.org/pg/commitdiff/788cb1c2e8c68d054b7b5bb43f659347acf09278
- Fix psql's \dd version check for operator families. Report and patch by Josh Kupershmidt; comment revisions by me.
http://git.postgresql.org/pg/commitdiff/a6ce8ba2f3b280bb06cbca84a5375d42a25bea5f
- Avoid retaining multiple relation locks in RangeVarGetRelid. If it turns out we've locked the wrong OID, release the old lock. In most cases, it's pretty harmless to retain the extra lock, but this seems tidier and avoids using lock table slots unnecessarily. Per discussion with Tom Lane.
http://git.postgresql.org/pg/commitdiff/aa3299f25601c1a27e52c1c49e92b7f11441e76b
Peter Eisentraut a poussé :
Bruce Momjian a poussé :
Simon Riggs a poussé :
- Wakeup WALWriter as needed for asynchronous commit performance. Previously we waited for wal_writer_delay before flushing WAL. Now we also wake WALWriter as soon as a WAL buffer page has filled. Significant effect observed on performance of asynchronous commits by Robert Haas, attributed to the ability to set hint bits on tuples earlier and so reducing contention caused by clog lookups.
http://git.postgresql.org/pg/commitdiff/4de82f7d7c50a81ec8e70e2cb0ab413ab9134c0b
Michael Meskes a poussé :
Correctifs rejetés (à ce jour)
- Pas de déception cette semaine :-)
Correctifs en attente
- Peter Eisentraut sent in the first of several patches to quiet warnings generated when using -Wcast-qual.
- Thomas Munro and Kevin Grittner traded patches which const-ify functions, per TODO item.
- KaiGai Kohei sent in two more revisions of the patch to add object access hooks with argument support.
- Alexander Korotkov sent in two revisions of a patch to add GiST indexing for range types.
- Heikki Linnakangas sent in another revision of the patch to store hot members of PGPROC out of band.
- Simon Riggs sent in a patch to use a latch in WalWriter.
- Robert Haas and Simon Riggs traded patches intended to reduce contention on ProcArrayLock.
- Jaime Casanova sent in another revision of the patch to allow seeing relation free space.
- Laurenz Albe sent in a patch to allow disabling SSL compression.
- Dimitri Fontaine sent in a PoC patch to create command triggers.
- Alexander Korotkov sent in another revision of the patch to collect frequency statistics for arrays.
- Robert Haas sent in a patch to improve error messages emitted by get_object_address().
- Dimitri Fontaine sent in two revisions of a patch to add Node support in outfuncs.c and readfuncs.c
- Tomas Vondra sent in a PoC patch to allow triggers on backend startup.
- Nikhil Sontakke and Robert Haas traded patches to fix a situation where concurrent CREATE TABLE/DROP SCHEMA leaves inconsistent leftovers.
- José Arthur Benetasso Villanova and Jan Kundrát traded patches to add context in error messages where check constraints are violated.
- Kyotaro HORIGUCHI sent in a patch to allow plugging in different memory allocators into libpq.
- Andrew Dunstan sent in a patch to add finer control to pg_dump/pg_restore by making the dividing lines among pre-data, data and post-data sections explicit.
- Robert Haas sent in two revisions of a patch to reduce the number of snapshots taken per query by half.
- Simon Riggs sent in a patch to allow fast failover.
- Jan Urbanski sent in another revision of the patches to refactor PL/Python.
- Greg Smith sent in a patch which adds query normalization of pg_stat_statements, based on transforming the query tree into a series of integers and using them to match against previous queries.