PostgreSQL La base de donnees la plus sophistiquee au monde.

Nouvelles hebdomadaires de PostgreSQL - 21 novembre 2010

Les nouveautés des produits dérivés

Offres d'emplois autour de PostgreSQL en novembre

PostgreSQL Local

  • L'appel à projets de PostgreSQLFr a été lancé. Les projets doivent concerner PostgreSQL et la communauté francophone. Mail à appel-projets-2010 (AT) postgresql (DOT) fr.
  • Les inscriptions pour le PGDay.EU 2010 tenu du 6 au 8 décembre à Stuttgart sont ouvertes [ndt: jusqu'au 26 novembre] :
  • Pour les "lèves-tôts", les inscriptions au PGDay.IT, qui aura lieu le 10 décembre 2010 à Rome, sont ouvertes et le programme a été publié :
  • Le FOSDEM est l'un des plus grand événements autour du Libre et de l'Open Source ; il a lieu annuellement à Bruxelles et rassemble environ 4000 personnes. La prochaine édition est programmée pour les 5 & 6 février 2011. Envoyez vos propositions à l'adresse fosdem AT postgresql POINT eu.
  • Le PGDay est au programme du Southern California Linux Exposition (SCALE) de cette année, tenu à l'hôtel LAX Hilton de Los Angeles (Californie) le vendredi 25 février 2011. Proposez vos conférences sur pgday-submissions (AT) googlegroups (DOT) com.
  • PGCon aura lieu les 19 & 20 mai 2011 à l'Université d'Ottawa, précédé par deux jours de tutoriels les 17 & 18 mai :

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), en allemand à pwn (a), en italien à pwn (a) et en espagnol à pwn (a)

(lien vers l'article original)


  • Steve Singer reviewed the patch to extend ALTER TABLE to allow creating a primary key from an extant index, suggesting some changes in the documentation and error handling.
  • Robert Haas reviewed the KNN-GiST patch, pointing out places where it re-uses machinery with now-misleading names, along with some cases it doesn't handle.
  • Robert Haas reviewed the patch for ALTER OBJECT ... SET SCHEMA, noting a lack of regression tests and tab completion support for psql.

Correctifs appliqués

Simon Riggs a poussé :

Alvaro Herrera a poussé :

Robert Haas a poussé :

Tom Lane a poussé :

  • Fix aboriginal mistake in plpython's set-returning-function support. We must stay in the function's SPI context until done calling the iterator that returns the set result. Otherwise, any attempt to invoke SPI features in the python code called by the iterator will malfunction. Diagnosis and patch by Jan Urbanski, per bug report from Jean-Baptiste Quenot. Back-patch to 8.2; there was no support for SRFs in previous versions of plpython.;a=commitdiff;h=add0ea88e7722b48d1f3a7c38e3cfd7f1e854674
  • Make TRUNCATE ... RESTART IDENTITY restart sequences transactionally. In the previous coding, we simply issued ALTER SEQUENCE RESTART commands, which do not roll back on error. This meant that an error between truncating and committing left the sequences out of sync with the table contents, with potentially bad consequences as were noted in a Warning on the TRUNCATE man page. To fix, create a new storage file (relfilenode) for a sequence that is to be reset due to RESTART IDENTITY. If the transaction aborts, we'll automatically revert to the old storage file. This acts just like a rewriting ALTER TABLE operation. A penalty is that we have to take exclusive lock on the sequence, but since we've already got exclusive lock on its owning table, that seems unlikely to be much of a problem. The interaction of this with usual nontransactional behaviors of sequence operations is a bit weird, but it's hard to see what would be completely consistent. Our choice is to discard cached-but-unissued sequence values both when the RESTART is executed, and at rollback if any; but to not touch the currval() state either time. In passing, move the sequence reset operations to happen before not after any AFTER TRUNCATE triggers are fired. The previous ordering was not logically sensible, but was forced by the need to minimize inconsistency if the triggers caused an error. Transactional rollback is a much better solution to that. Patch by Steve Singer, rather heavily adjusted by me.;a=commitdiff;h=511e902b51c2a1c0d012426ceb6486b1202120f3
  • Further fallout from the MergeAppend patch. Fix things so that top-N sorting can be used in child Sort nodes of a MergeAppend node, when there is a LIMIT and no intervening joins or grouping. Actually doing this on the executor side isn't too bad, but it's a bit messier to get the planner to cost it properly. Per gripe from Robert Haas. In passing, fix an oversight in the original top-N-sorting patch: query_planner should not assume that a LIMIT can be used to make an explicit sort cheaper when there will be grouping or aggregation in between. Possibly this should be back-patched, but I'm not sure the mistake is serious enough to be a real problem in practice.;a=commitdiff;h=6fbc323c8042303a737028f9da7616896bccc517
  • Dept of second thoughts: don't try to push LIMIT below a SRF. If we have Limit->Result->Sort, the Result might be projecting a tlist that contains a set-returning function. If so, it's possible for the SRF to sometimes return zero rows, which means we could need to fetch more than N rows from the Sort in order to satisfy LIMIT N. So top-N sorting cannot be used in this scenario.;a=commitdiff;h=48c348f86ce09c668af7cf271757c3f156f28344
  • Improve plpgsql's error reporting for no-such-column cases. Given a column reference, where there is a composite plpgsql variable foo but it doesn't contain a column bar, the pre-9.0 coding would immediately throw a "record foo has no field bar" error. In 9.0 the parser hook instead falls through to let the core parser see if it can resolve the reference. If not, you get a complaint about "missing FROM-clause entry for table foo", which while in some sense correct isn't terribly helpful. Complicate things a bit so that we can throw the old error message if neither the core parser nor the hook are able to resolve the column reference, while not changing the behavior in any other case. Per bug #5757 from Andrey Galkin.;a=commitdiff;h=fe24d781612700646bfb3e08925e34c43926f9df
  • Improve relation width estimation for subqueries. As per the ancient comment for set_rel_width, it really wasn't much good for relations that aren't plain tables: it would never find any stats and would always fall back on datatype-based estimates, which are often pretty silly. Fix that by copying up width estimates from the subquery planning process. At some point we might want to do this for CTEs too, but that would be a significantly more invasive patch because the sub-PlannerInfo is no longer accessible by the time it's needed. I refrained from doing anything about that, partly for fear of breaking the unmerged CTE-related patches. In passing, also generate less bogus width estimates for whole-row Vars. Per a gripe from Jon Nelson.;a=commitdiff;h=0f61d4dd1b4f95832dcd81c9688dac56fd6b5687
  • Fix leakage of cost_limit when multiple autovacuum workers are active. When using default autovacuum_vac_cost_limit, autovac_balance_cost relied on VacuumCostLimit to contain the correct global value ... but after the first time through in a particular worker process, it didn't, because we'd trashed it in previous iterations. Depending on the state of other autovac workers, this could result in a steady reduction of the effective cost_limit setting as a particular worker processed more and more tables, causing it to go slower and slower. Spotted by Simon Poole (bug #5759). Fix by saving and restoring the GUC variables in the loop in do_autovacuum. In passing, improve a few comments. Back-patch to 8.3 ... the cost rebalancing code has been buggy since it was put in.;a=commitdiff;h=b58c25055ef6d7097618c680f6768689a110d529
  • Assorted further cleanup for integer-conversion patch. Avoid depending on LL notation, which is likely to not work in pre-C99 compilers; don't pointlessly use INT32_MIN/INT64_MIN in code that has the numerical value hard-wired into it anyway; remove some gratuitous style inconsistencies between pg_ltoa and pg_lltoa; fix int2 test case so it actually tests int2.;a=commitdiff;h=d1d8462d99620cd4384d77b0908d50a49c38eb31
  • Further cleanup of indxpath logic related to IndexOptInfo.opfamily array. We no longer need the terminating zero entry in opfamily[], so get rid of it. Also replace assorted ad-hoc looping logic with simple for and foreach constructs. This code is now noticeably more readable than it was an hour ago; credit to Robert for seeing that it could be simplified.;a=commitdiff;h=89a368418c56125f79f46a81229e824d519f9718

Heikki Linnakangas a poussé :

Magnus Hagander a poussé :

Andrew Dunstan a poussé :

Peter Eisentraut a poussé :

Correctifs rejetés (à ce jour)

  • Pas de déception cette semaine :-)

Correctifs en attente

  • Alexander Korotkov sent in two revisions of a patch to fix the picksplit function for contrib/seg.
  • Robert Haas sent in another revision of the patch to add custom code for int(32|64)-to-text conversions. These are much faster than the older code.
  • Peter Eisentraut sent in a patch intended to fix some misbehavior in parallel make on Darwin.
  • Peter Eisentraut sent in another revision of the patch to add per-column collation.
  • Greg Sabino Mullane sent in a patch to fix an infelicity with the clang compiler, which doesn't like to see gcc directives.
  • Robert Haas sent in another set of WIP patches to implement unlogged tables.
  • Heikki Linnakangas sent in a patch to rewrite how GiST does its insertions for better behavior with WAL logging.
  • KaiGai Kohei sent in another revision of the patch to allow switching security labels.
  • Alvaro Herrera sent in a patch to add a describe_object function.
  • ITAGAKI Takahiro sent in another WIP patch to implement MULTISETs and add some new functions for ARRAYs.
  • Fujii Masao sent in a patch to fix the documentation of libpq for synchronous replication.
  • Marko (johto) Tiikkaja sent in a patch to have EXPLAIN ANALYZE show the nubmer of rows a plan qual filtered in from a node's input.
  • Pavel Stehule sent in another revision of the patch to add formatting functions.
  • Shigeru HANADA sent in another revision of the SQL/MED patch.
  • Bruce Momjian sent in another revision of the patch to fix some errors in libpq's handling of host and addresses for IPv4 and IPv6.
  • Radoslaw Smogura sent in an experimental JDBC driver.
  • Dimitri Fontaine sent in another revision of the patch to add ALTER OBJECT ... SET SCHEMA to those objects where this is not already possible.
  • Joachim Wieland sent in two more patches in support of parallel pg_dump, one for modular I/O compression in pg_dump, the other for a directory-structured dump format.

pgwn/21_novembre_2010.txt · Dernière modification: 2010/11/24 23:32 par buggy