Les versions correctives 9.3.4, 9.2.8, 9.1.13, 9.0.17 et 8.4.21 sont disponibles. Mettez à jour dès que possible : http://www.postgresql.org/about/news/1511/ [ndt: vf]

Le sixième PGDay cubain aura lieu les 13 et 14 octobre 2014 à la Havane : https://postgresql.uci.cu/?p=380

Les appels à conférenciers pour Char(13) et le PGDay anglais, les 8 et 9 juillet 2014 respectivement, ont été lancés et les réponses sont attendues avant le 17 avril. speakers AT char14 DOT info, et speakers AT postgresqlusergroup DOT org DOT uk, respectivement : http://www.char14.info

Les nouveautés des produits dérivés

Offres d'emplois autour de PostgreSQL en mars

PostgreSQL Local

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)

Correctifs appliqués

Magnus Hagander a poussé :

Fujii Masao a poussé :

Heikki Linnakangas a poussé :

  • Fix thinko: have trueTriConsistentFn return GIN_TRUE. While we're at it, also improve comments in ginlogic.c. http://git.postgresql.org/pg/commitdiff/d663d4399e767223e454302ea90d04f78b2f9d29
  • Make the handling of interrupted B-tree page splits more robust. Splitting a page consists of two separate steps: splitting the child page, and inserting the downlink for the new right page to the parent. Previously, we handled the case that you crash in between those steps with a cleanup routine after the WAL recovery had finished, which finished the incomplete split. However, that doesn't help if the page split is interrupted but the database doesn't crash, so that you don't perform WAL recovery. That could happen for example if you run out of disk space. Remove the end-of-recovery cleanup step. Instead, when a page is split, the left page is marked with a new INCOMPLETE_SPLIT flag, and when the downlink is inserted to the parent, the flag is cleared again. If an insertion sees a page with the flag set, it knows that the split was interrupted for some reason, and inserts the missing downlink before proceeding. I used the same approach to fix GIN and GiST split algorithms earlier. This was the last WAL cleanup routine, so we could get rid of that whole machinery now, but I'll leave that for a separate patch. Reviewed by Peter Geoghegan. http://git.postgresql.org/pg/commitdiff/40dae7ec537c5619fc93ad602c62f37be786d161
  • Fix misc typos in comments. http://git.postgresql.org/pg/commitdiff/1d3b258cbe4aedfb49c92c28b9cbd7c18d277e04
  • Fix compilation of pg_xlogdump, now that rm_safe_restartpoint is no more. Oops. Pointed out by Andres Freund. http://git.postgresql.org/pg/commitdiff/033dc1c92cf018d396e983d425b821dda420cfff
  • Remove rm_safe_restartpoint machinery. It is no longer used, none of the resource managers have multi-record actions that would make it unsafe to perform a restartpoint. Also don't allow rm_cleanup to write WAL records, it's also no longer required. Move the call to rm_cleanup routines to make it more symmetric with rm_startup. http://git.postgresql.org/pg/commitdiff/59a5ab3f426e74e3f901dc2cf533726bcea08ed2
  • Replace the XLogInsert slots with regular LWLocks. The special feature the XLogInsert slots had over regular LWLocks is the insertingAt value that was updated atomically with releasing backends waiting on it. Add new functions to the LWLock API to do that, and replace the slots with LWLocks. This reduces the amount of duplicated code. (There's still some duplication, but at least it's all in lwlock.c now.) Reviewed by Andres Freund. http://git.postgresql.org/pg/commitdiff/68a2e52bbaf98f136a96b3a0d734ca52ca440a95
  • Fix build with LWLOCK_STATS or dtrace. Also fix the name of the dtrace probe for LWLockAcquireOrWait(). The function was renamed from LWLockWaitUntilFree to LWLockAqcuireOrWait, but the dtrace probe was neglected. Pointed out by Andres Freund and the buildfarm. http://git.postgresql.org/pg/commitdiff/dea6ed2c980286e89caf4166ad329f506abbff29
  • Fix thinkos in GinLogicValue enum. It was incorrectly declared as global variable, not an enum type, and the comments for GIN_FALSE and GIN_TRUE were backwards. http://git.postgresql.org/pg/commitdiff/4c0e97c2d58f1cec9fc24237342962811de3cfee

Tom Lane a poussé :

  • During index build, check and elog (not just Assert) for broken HOT chain. The recently-fixed bug in WAL replay could result in not finding a parent tuple for a heap-only tuple. The existing code would either Assert or generate an invalid index entry, neither of which is desirable. Throw a regular error instead. http://git.postgresql.org/pg/commitdiff/d70cf811f7dd26c07dbb78df4a51b667e7a3489b
  • Release notes for 9.3.4, 9.2.8, 9.1.13, 9.0.17, 8.4.21. http://git.postgresql.org/pg/commitdiff/551fb5ac742eb7dbf92aa80743aa5a52b8a0189f
  • Fix pg_dumpall option parsing: -i doesn't take an argument. This used to work properly, but got fat-fingered in commit 3dee636e0404885d07885d41c0d70e50c784f324. Per bug #9620 from Nicolas Payart. http://git.postgresql.org/pg/commitdiff/19f2d6cdae2bfa97c2ce8a7f5ac453a91f40704a
  • Fix relcache reference leak in refresh_by_match_merge(). One path through the loop over indexes forgot to do index_close(). Rather than adding a fourth call, restructure slightly so that there's only one. In passing, get rid of an unnecessary syscache lookup: the pg_index struct for the index is already available from its relcache entry. Per report from YAMAMOTO Takashi, though this is a bit different from his suggested patch. This is new code in HEAD, so no need for back-patch. http://git.postgresql.org/pg/commitdiff/f7271c44278352516ec66b2de311952ce330b6d5
  • Fix some remaining int64 vestiges in contrib/test_shm_mq. Andres Freund and Tom Lane http://git.postgresql.org/pg/commitdiff/b6ec7c92ac7ab6223b3c45dc554efffd1953758f
  • Fix memory leak during regular expression execution. For a regex containing backrefs, pg_regexec() might fail to free all the sub-DFAs that were created during execution, resulting in a permanent (session lifespan) memory leak. Problem was introduced by me in commit 587359479acbbdc95c8e37da40707e37097423f5. Per report from Sandro Santilli; diagnosis by Greg Stark. http://git.postgresql.org/pg/commitdiff/ea8c7e9054abf23fa3de2f8e4414f60ac8a8b620
  • Again fix initialization of auto-tuned effective_cache_size. The previous method was overly complex and underly correct; in particular, by assigning the default value with PGC_S_OVERRIDE, it prevented later attempts to change the setting in postgresql.conf, as noted by Jeff Janes. We should just assign the default value with source PGC_S_DYNAMIC_DEFAULT, which will have the desired priority relative to the boot_val as well as user-set values. There is still a gap in this method: if there's an explicit assignment of effective_cache_size = -1 in the postgresql.conf file, and that assignment appears before shared_buffers is assigned, the code will substitute 4 times the bootstrap default for shared_buffers, and that value will then persist (since it will have source PGC_S_FILE). I don't see any very nice way to avoid that though, and it's not a case to be expected in practice. The existing comments in guc-file.l look forward to a redesign of the DYNAMIC_DEFAULT mechanism; if that ever happens, we should consider this case as one of the things we'd like to improve. http://git.postgresql.org/pg/commitdiff/af930e606a3217db3909029c6c3f8d003ba70920

Robert Haas a poussé :

Alvaro Herrera a poussé :

  • Setup error context callback for transaction lock waits With this in place, a session blocking behind another one because of tuple locks will get a context line mentioning the relation name, tuple TID, and operation being done on tuple. For example: LOG: process 11367 still waiting for ShareLock on transaction 717 after 1000.108 ms DETAIL: Process holding the lock: 11366. Wait queue: 11367. CONTEXT: while updating tuple (0,2) in relation "foo" STATEMENT: UPDATE foo SET value = 3; Most usefully, the new line is displayed by log entries due to log_lock_waits, although of course it will be printed by any other log message as well. Author: Christian Kruse, some tweaks by Álvaro Herrera Reviewed-by: Amit Kapila, Andres Freund, Tom Lane, Robert Haas http://git.postgresql.org/pg/commitdiff/f88d4cfc9d417dac2ee41a8f5e593898e56fd2bd

Bruce Momjian a poussé :

Noah Misch a poussé :

  • Address ccvalid/ccnoinherit in TupleDesc support functions. equalTupleDescs() neglected both of these ConstrCheck fields, and CreateTupleDescCopyConstr() neglected ccnoinherit. At this time, the only known behavior defect resulting from these omissions is constraint exclusion disregarding a CHECK constraint validated by an ALTER TABLE VALIDATE CONSTRAINT statement issued earlier in the same transaction. Back-patch to 9.2, where these fields were introduced. http://git.postgresql.org/pg/commitdiff/c31305de5f5a4880b0ba2f5983025ef0210a3b2a
  • Offer triggers on foreign tables. This covers all the SQL-standard trigger types supported for regular tables; it does not cover constraint triggers. The approach for acquiring the old row mirrors that for view INSTEAD OF triggers. For AFTER ROW triggers, we spool the foreign tuples to a tuplestore. This changes the FDW API contract; when deciding which columns to populate in the slot returned from data modification callbacks, writable FDWs will need to check for AFTER ROW triggers in addition to checking for a RETURNING clause. In support of the feature addition, refactor the TriggerFlags bits and the assembly of old tuples in ModifyTable. Ronan Dunklau, reviewed by KaiGai Kohei; some additional hacking by me. http://git.postgresql.org/pg/commitdiff/7cbe57c34dec4860243e6d0f81738cfbb6e5d069
  • Improve comments about AfterTriggerBeginQuery() query level usage. http://git.postgresql.org/pg/commitdiff/6115480c543c0141011a99db78987ad13540be59
  • Don't test xmin/xmax columns of a postgres_fdw foreign table. Their values are unspecified and system-dependent. Per buildfarm member kouprey. http://git.postgresql.org/pg/commitdiff/b2b2491b06074e68fc7c96148cb0fdf0c8eb0469

Andrew Dunstan a poussé :

  • Introduce jsonb, a structured format for storing json. The new format accepts exactly the same data as the json type. However, it is stored in a format that does not require reparsing the orgiginal text in order to process it, making it much more suitable for indexing and other operations. Insignificant whitespace is discarded, and the order of object keys is not preserved. Neither are duplicate object keys kept - the later value for a given key is the only one stored. The new type has all the functions and operators that the json type has, with the exception of the json generation functions (to_json, json_agg etc.) and with identical semantics. In addition, there are operator classes for hash and btree indexing, and two classes for GIN indexing, that have no equivalent in the json type. This feature grew out of previous work by Oleg Bartunov and Teodor Sigaev, which was intended to provide similar facilities to a nested hstore type, but which in the end proved to have some significant compatibility issues. Authors: Oleg Bartunov, Teodor Sigaev, Peter Geoghegan and Andrew Dunstan. Review: Andres Freund http://git.postgresql.org/pg/commitdiff/d9134d0a355cfa447adc80db4505d5931084278a
  • Fix mis-spelling in jsonb docs. Per Thom Brown. http://git.postgresql.org/pg/commitdiff/ca07cd59b24e00e428ed26716754244cec7f56b7
  • Do jsonb regression test input in the conventional way. This should make the buildfarm happier. http://git.postgresql.org/pg/commitdiff/ab22b149c60a10b842e3ec7fe3eb3b0b66c6611a

Correctifs rejetés (à ce jour)

  • No one was disappointed this week

Correctifs en attente

  • Mitsumasa KONDO sent in another revision of a patch to allow using a Gaussian distribution in pgbench.
  • Jürgen Strobel sent in a patch to add a command line option --no-table-lock to pg_dump.
  • Fabrízio de Royes Mello sent in another revision of a patch to fix some wrong behavior in ALTER ... RESET.
  • Petr (PJMODOS) Jelinek sent in two more revisions of a patch to add plpgsql.warn_shadow.
  • Vaishnavi Prabakaran sent in another revision of a patch to add a catalog view to pg_hba.conf.
  • Heikki Linnakangas sent in a patch to change the way locks are acquired on B-trees.
  • Bruce Momjian sent in two revisions of a patch to fix a bug in pg_archivecleanup.
  • Jing Wang sent in another revision of a patch to issue a log message to suggest VACUUM FULL if a table is nearly empty.
  • Gurjeet Singh sent in a patch to send transaction commit/rollback stats to the stats collector unconditionally.
  • Kyotaro HORIGUCHI sent in another revision of a patch to fix an infelicity in some situations in archive recovery.
  • Petr (PJMODOS) Jelinek sent in two more revisions of a patch to add plpgsql.extra_warnings and plpgsql.extra_errors.
  • Fujii Masao sent in a patch to fix an issue where effective_cache_size cannot be changed by a reload (HUP) of the backend.
  • Vik Fearing sent in a patch to fix some typos in the patch to reduce lock strengths needed for ALTER TABLE.
  • Etsuro Fujita sent in another revision of a patch to allow foreign tables in table inheritance hierarchies.
  • Dilip Kumar sent in another revision of a patch to add parallelism to the vacuumdb program.
  • MauMau sent in another revision of a patch to fix an issue where PostgreSQL fails to start on Windows if it crashes after tablespace creation.
  • Andres Freund sent in a PoC patch not to require a NBuffer-sized PrivateRefCount array of local buffer pins.
  • Emanuel Calvo sent in a patch to clarify the documentation of what events rewrite RULEs can apply to.
  • Bruce Momjian sent in another revision of a patch to fix some psql output for the Replica type displayed.
  • Noah Misch sent in two more revisions of a patch to warn about some escalation attacks possible during "make check".