La 6ème conférence annuelle Highload++ aura lieu les 22 & 23 octobre 2012 à Moscou (Russie) : http://highload.co/

[ndt: la 4ème session PostgreSQL s'est déroulée le 4 octobre dernier : un premier retour ici et les PDF des présentations disponibles ici.]

Les nouveautés des produits dérivés

Offres d'emplois autour de PostgreSQL en octobre

PostgreSQL Local

  • La PostgreSQL Conference Europe 2011 aura lieu à Prague, République Tchèque, du 23 au 26 octobre : http://2012.pgconf.eu/
  • Il y aura un PGDay également le 9 novembre 2012 à l'USP de São Paulo : http://www.postgresql.org.br/node/16949
  • Le PgDay argentin 2012 se tiendra à l'Université Nationale de Quilmes, à Bernal près de Buenos Aires, le 13 novembre. Les sujets couverts concerneront aussi bien les utilisateurs, développeurs et contributeurs, que les décideurs et hauts responsables. Pour plus d'informations à propos de la conférence, consultez le site suivant : http://www.pgday.com.ar/quilmes2012?lang=en
  • Le PGDay équatorien de cette année se tiendra à Quito le 17 novembre. L'appel à conférenciers est lancé jusqu'au 10 octobre. Envoyez vos propositions à Jaime Casanova : jaime <AT> 2ndquadrant <DOT> com : https://wiki.postgresql.org/wiki/PGDay_Ecuador_2012
  • La sixième édition du PGDay italien aura lieu à Prato, Toscane, le 23 novembre 2012. Un appel international à conférenciers est lancé, conférences et présentations en anglais sont acceptées. Informations anglophones sur le processus de candidature disponibles ci-après : http://2012.pgday.it/call-for-papers/international-call-for-papers/

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

Heikki Linnakangas a poussé :

Alvaro Herrera a poussé :

Bruce Momjian a poussé :

Andrew Dunstan a poussé :

Tom Lane a poussé :

  • Standardize naming of malloc/realloc/strdup wrapper functions. We had a number of variants on the theme of "malloc or die", with the majority named like "pg_malloc", but by no means all. Standardize on the names pg_malloc, pg_malloc0, pg_realloc, pg_strdup. Get rid of pg_calloc entirely in favor of using pg_malloc0. This is an essentially cosmetic change, so no back-patch. (I did find a couple of places where psql and pg_dump were using plain malloc or strdup instead of the pg_ versions, but they don't look significant enough to bother back-patching.) http://git.postgresql.org/pg/commitdiff/a563d941803535dbd27d4191fe7729497b7fdf31
  • Work around unportable behavior of malloc(0) and realloc(NULL, 0). On some platforms these functions return NULL, rather than the more common practice of returning a pointer to a zero-sized block of memory. Hack our various wrapper functions to hide the difference by substituting a size request of 1. This is probably not so important for the callers, who should never touch the block anyway if they asked for size 0 --- but it's important for the wrapper functions themselves, which mistakenly treated the NULL result as an out-of-memory failure. This broke at least pg_dump for the case of no user-defined aggregates, as per report from Matthew Carrington. Back-patch to 9.2 to fix the pg_dump issue. Given the lack of previous complaints, it seems likely that there is no live bug in previous releases, even though some of these functions were in place before that. http://git.postgresql.org/pg/commitdiff/09ac603c36d1c865df68e5abd9dab04bd0fa5e48
  • Avoid planner crash/Assert failure with joins to unflattened subqueries. examine_simple_variable supposed that any RTE_SUBQUERY rel it gets pointed at must have been planned already. However, this isn't a safe assumption because we must do selectivity estimation while generating indexscan paths, and that code might look at join clauses involving a rel that the loop in set_base_rel_sizes() hasn't reached yet. The simplest fix is to play dumb in such a situation, that is give up trying to extract any stats for the Var. This could possibly be improved by making a separate pass over the RTE list to plan each unflattened subquery before we start the main planning work --- but that would be pretty invasive and it doesn't seem worth it, for now at least. (We couldn't just break set_base_rel_sizes() into two loops: the prescan would need to handle all subquery rels in the query, not only those in the current join subproblem.) This bug was introduced in commit 1cb108efb0e60d87e4adec38e7636b6e8efbeb57, although I think that subsequent changes may have exposed it more than it was originally. Per bug #7580 from Maxim Boguk. http://git.postgresql.org/pg/commitdiff/1f91c8ca1d2edc66c688ee719eded79ecd0e8f1b
  • Support CREATE SCHEMA IF NOT EXISTS. Per discussion, schema-element subcommands are not allowed together with this option, since it's not very obvious what should happen to the element objects. Fabrízio de Royes Mello http://git.postgresql.org/pg/commitdiff/fb34e94d214d6767910df47aa7c605c452d11c57
  • Fix permissions explanations in CREATE DATABASE and CREATE SCHEMA docs. These reference pages still claimed that you have to be superuser to create a database or schema owned by a different role. That was true before 8.1, but it was changed in commits aa1110624c08298393dfce996f7b21809d98d3fd and f91370cd2faf1fd35a1ac74d84652a85ed841919 to allow assignment of ownership to any role you are a member of. However, at the time we were thinking of that primarily as a change to the ALTER OWNER rules, so the need to touch these two CREATE ref pages got missed. http://git.postgresql.org/pg/commitdiff/7e389f73d1556fb21487cd28fe56cba1a91126e6
  • Fix parse location tracking for lists that can be empty. The previous coding of the YYLLOC_DEFAULT macro behaved strangely for empty productions, assigning the previous nonterminal's location as the parse location of the result. The usefulness of that was (at best) debatable already, but the real problem is that in list-generating nonterminals like OptFooList: /* EMPTY */ { ... } | OptFooList Foo { ... } ; the initially-identified location would get copied up, so that even a nonempty list would be given a bogus parse location. Document how to work around that, and do so for OptSchemaEltList, so that the error condition just added for CREATE SCHEMA IF NOT EXISTS produces a sane error cursor. So far as I can tell, there are currently no other cases where the situation arises, so we don't need other instances of this coding yet. http://git.postgresql.org/pg/commitdiff/707263542e571c9906549e196728ad39ecc0ca84
  • Make CREATE AGGREGATE complain if the initcond is invalid for the datatype. The initial transition value is stored as a text string and not fed to the transition type's input function until runtime (so that values such as "now" don't get frozen at creation time). Previously, CREATE AGGREGATE didn't do anything with it but that, which meant that even erroneous values would be accepted and not complained of until the aggregate is used. This seems unhelpful, and it's confused at least one user, as in Rhys Stewart's recent report. It seems worth taking a few more cycles to invoke the input function and verify that the value is acceptable. We can't do this if the transition type is polymorphic, but in normal aggregates we know the actual transition type so we can call the right input function. http://git.postgresql.org/pg/commitdiff/e1e60694b4a69786dc5ff27e340afeaad7833eb9
  • getnameinfo_unix has to be taught not to insist on NI_NUMERIC flags, too. Per testing of previous patch. http://git.postgresql.org/pg/commitdiff/1997f34db4687e671690ed054c8f30bb501b1168
  • Improve documentation about large-object functions. Copy-editing for previous patch, plus fixing some longstanding markup issues and oversights (like not mentioning that failures will set the PQerrorMessage string). http://git.postgresql.org/pg/commitdiff/1503333f8f6fb5dcfdd4f84a9bfa7929c45aa2cc
  • Autoconfiscate selection of 64-bit int type for 64-bit large object API. Get rid of the fundamentally indefensible assumption that "long long int" exists and is exactly 64 bits wide on every platform Postgres runs on. Instead let the configure script select the type to use for "pg_int64". This is a bit of a pain in the rear since we do not want to pollute client namespace with all the random symbols that pg_config.h defines; instead we have to create a separate generated header file, "pg_config_ext.h". But now that the infrastructure is there, we might have the ability to add some other stuff that's long been wanting in this area. http://git.postgresql.org/pg/commitdiff/95d035e66d8e4371d35830d81f39face03cd4c45

Peter Eisentraut a poussé :

Michael Meskes a poussé :

Tatsuo Ishii a poussé :

Correctifs rejetés (à ce jour)

  • Pas de déception cette semaine :-)

Correctifs en attente

  • Karl O. Pinc sent in another revision of the patch to describe the AND-mask nature of the permission system.
  • Peter Eisentraut sent in a patch to fix host name lookups in hba.
  • Dimitri Fontaine sent in a patch to fix a bug with EXTENSIONs.
  • Alexander Korotkov sent in a patch to remove unused targets which are used only for order by when data already comes in right order.
  • Karl O. Pinc sent in another revision of the patch to differentiate which catalogs use only OIDs to ensure uniqueness from those which use other groups of columns for this purpose.
  • Phil Sorber sent in a patch to add a #define for the OID of UUID, having lost an argument to Thom Brown.
  • Heikki Linnakangas sent in another revision of the patch to allow switching timelines over streaming replication.
  • Michael Paquier sent in a patch to implement REINDEX CONCURRENTLY.
  • Zoltan Boszormenyi sent in another patch for the lock timeout/common SIGALARM framework.
  • Alexander Korotkov sent in another revision of the patch to remove bloat from gistchoose.
  • Zoltan Boszormenyi sent in four more pairs of patches, one to refactor PQConnInfo, the other to enable pg_basebackup to configure and start a standby.
  • Amit Kapila sent in two more revisions of a patch to improve update performance by reducing the WAL volume.
  • Amit Kapila sent in another revision of the patch to help walreceiver detect network partition faster.
  • Marc Balmer sent in two revisions of a patch to add FET (Belarus) to the default time zone abbreviations.
  • Selena Deckelmann sent in another revision of the patch to fix some infelicities in the contexts where per-database and per-role parameters are checked.
  • Selena Deckelmann sent in another revision of the patch to add plpgsql_check_function().
  • Tomonari Katsumata sent in a patch to fix an error message when ANALYZE is run on a hot standby.