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

Heikki Linnakangas a poussé :

Fujii Masao a poussé :

Bruce Momjian a poussé :

Magnus Hagander a poussé :

Andrew Dunstan a poussé :

Tom Lane a poussé :

  • Fix refcounting bug in PLy_modify_tuple(). We must increment the refcount on "plntup" as soon as we have the reference, not sometime later. Otherwise, if an error is thrown in between, the Py_XDECREF(plntup) call in the PG_CATCH block removes a refcount we didn't add, allowing the object to be freed even though it's still part of the plpython function's parsetree. This appears to be the cause of crashes seen on buildfarm member prairiedog. It's a bit surprising that we've not seen it fail repeatably before, considering that the regression tests have been exercising the faulty code path since 2009. The real-world impact is probably minimal, since it's unlikely anyone would be provoking the "Tom Dunstan["new"] is not a dictionary" error in production, and that's the only case that is actually wrong. Still, it's a bug affecting the regression tests, so patch all supported branches. In passing, remove dead variable "plstr", and demote "platt" to a local variable inside the PG_TRY block, since we don't need to clean it up in the PG_CATCH path. http://git.postgresql.org/pg/commitdiff/2d5e0f07de0119045fb889f9c11de0e486ce4ac5
  • Document that Python 2.3 requires cdecimal module for full functionality. This has been true for some time, but we were leaving users to discover it the hard way. Back-patch to 9.2. It might've been true before that, but we were claiming Python 2.2 compatibility before that, so I won't guess at the exact requirements back then. http://git.postgresql.org/pg/commitdiff/f3cfc23195e3363ceab49449ed851944bcaf0849
  • Improve documentation note about Python 2.3 and cdecimal. Explain exactly what fails (ie, function arguments of type numeric) if you don't have it. http://git.postgresql.org/pg/commitdiff/e5a452b3a4600dfc9c045e1591c25e6a567d8d73
  • Un-break peer authentication. Commit 613c6d26bd42dd8c2dd0664315be9551475b8864 sloppily replaced a lookup of the UID obtained from getpeereid() with a lookup of the server's own user name, thus totally destroying peer authentication. Revert. Per report from Christoph Berg. In passing, make sure get_user_name() zeroes *errstr on success on Windows as well as non-Windows. I don't think any callers actually depend on this ATM, but we should be consistent across platforms. http://git.postgresql.org/pg/commitdiff/b777be0d48a042f500cac72140ffb50392973aa2
  • Fix EquivalenceClass processing for nested append relations. The original coding of EquivalenceClasses didn't foresee that appendrel child relations might themselves be appendrels; but this is possible for example when a UNION ALL subquery scans a table with inheritance children. The oversight led to failure to optimize ordering-related issues very well for the grandchild tables. After some false starts involving explicitly flattening the appendrel representation, we found that this could be fixed easily by removing a few implicit assumptions about appendrel parent rels not being children themselves. Kyotaro Horiguchi and Tom Lane, reviewed by Noah Misch http://git.postgresql.org/pg/commitdiff/a87c729153e372f3731689a7be007bc2b53f1410
  • Improve regression test for pg_filenode_relation(). Make it print the details in case there's a failure. Andres Freund, slightly modified by me http://git.postgresql.org/pg/commitdiff/9613a1d98e5f940d8124850e61b0a950157c8863
  • Fix dumping of a materialized view that depends on a table's primary key. It is possible for a view or materialized view to depend on a table's primary key, if the view query relies on functional dependency to abbreviate a GROUP BY list. This is problematic for pg_dump since we ordinarily want to dump view definitions in the pre-data section but indexes in post-data. pg_dump knows how to deal with this situation for regular views, by breaking the view's ON SELECT rule apart from the view proper. But it had not been taught what to do about materialized views, and in fact mistakenly dumped them as regular views in such cases, as seen in bug #9616 from Jesse Denardo. If we had CREATE OR REPLACE MATERIALIZED VIEW, we could fix this in a manner analogous to what's done for regular views; but we don't yet, and we'd not back-patch such a thing into 9.3 anyway. As a hopefully- temporary workaround, break the circularity by postponing the matview into post-data altogether when this case occurs. http://git.postgresql.org/pg/commitdiff/62215de2925705bc607635e45ff800364456b1a1

Noah Misch a poussé :

  • Force consistent row order in contrib/test_decoding regression test. http://git.postgresql.org/pg/commitdiff/7ed908be41fbca1635d34f97138abb13beab8b24
  • Document platform-specificity of unix_socket_permissions. Back-patch to 8.4 (all supported versions). http://git.postgresql.org/pg/commitdiff/fbd32b0cab806a2244bd5171e4b60e53f4a9dfe7
  • Secure Unix-domain sockets of "make check" temporary clusters. Any OS user able to access the socket can connect as the bootstrap superuser and in turn execute arbitrary code as the OS user running the test. Protect against that by placing the socket in the temporary data directory, which has mode 0700 thanks to initdb. Back-patch to 8.4 (all supported versions). The hazard remains wherever the temporary cluster accepts TCP connections, notably on Windows. Attempts to run "make check" from a directory with a long name will now fail. An alternative not sharing that problem was to place the socket in a subdirectory of /tmp, but that is only secure if /tmp is sticky. The PG_REGRESS_SOCK_DIR environment variable is available as a workaround when testing from long directory paths. As a convenient side effect, this lets testing proceed smoothly in builds that override DEFAULT_PGSOCKET_DIR. Popular non-default values like /var/run/postgresql are often unwritable to the build user. Security: CVE-2014-0067 http://git.postgresql.org/pg/commitdiff/31c6e54ec9abab0c63d709e492ef18a701b02641
  • Revert "Secure Unix-domain sockets of "make check" temporary clusters." About half of the buildfarm members use too-long directory names, strongly suggesting that this approach is a dead end. http://git.postgresql.org/pg/commitdiff/8f5578d0f9681ef81bc71a3762a191d66a29c8b1

Correctifs rejetés (à ce jour)

  • No one was disappointed this week

Correctifs en attente

  • Kaigai Kouhei sent in another revision of a patch to implement custom plan nodes.
  • Petr (PJMODOS) Jelinek sent in another revision of a patch to implement plpgsql.extra_warnings, plpgsql.extra_errors.
  • 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.
  • Michael Paquier sent in a patch to add a new parameter RollbackError to control rollback behavior on error.
  • Etsuro Fujita sent in two more revisions of a patch to implement inherit support for foreign tables.
  • David Rowley and Florian Pflug traded patches to implement inverse transition functions for aggregates.
  • Peter Geoghegan sent in a patch to fix an infelicity in jsonfuncs.c.
  • Ants Aasma sent in a patch to add in a missing pfree in logical_heap_rewrite_flush_mappings().
  • Rajeev Rastogi sent in a patch to fix an issue where datistemplate of pg_database does not behave as per description in documentation.
  • Kaigai Kouhei sent in another revision of a patch to implement the custom plan interface.
  • Tomas Vondra sent in a patch to decreasing memory needlessly consumed by array_agg.
  • Peter Geoghegan sent in a patch to do better at HINTing an appropriate column within errorMissingColumn().
  • Jan Pecek (honzap AT gmail DOT com) sent in a patch to fix an issue where storinig data in pg_toast for a custom type fails.
  • Bruce Momjian and Fabrízio de Royes Mello traded patches to change the display of OID-ness for tables in psql.
  • Peter Geoghegan sent in a patch to extend SortSupport and tuplesort to support "poor man's normalized keys".