Nouvelles hebdomadaires de PostgreSQL - 18 décembre 2011
Les nouveautés des produits dérivés
Offres d'emplois autour de PostgreSQL en décembre
PostgreSQL Local
- FOSDEM 2012 - Devroom PostgreSQL : l'appel à conférenciers est lancé (date limite de dépôt : 20 décembre 2011) :
https://www.postgresql.eu/events/callforpapers/fosdem2012/
- 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.
- 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
Heikki Linnakangas a poussé :
Tom Lane a poussé :
- Move BKP_REMOVABLE bit from individual WAL records to WAL page headers. Removing this bit from xl_info allows us to restore the old limit of four (not three) separate pages touched by a WAL record, which is needed for the upcoming SP-GiST feature, and will likely be useful elsewhere in future. When we implemented XLR_BKP_REMOVABLE in 2007, we had to do it like that because no special WAL-visible action was taken when starting a backup. However, now we force a segment switch when starting a backup, so a compressing WAL archiver (such as pglesslog) that uses the state shown in the current page header will not be fooled as to removability of backup blocks. The only downside is that the archiver will not return to compressing mode for up to one WAL page after the backup is over, which is a small price to pay for getting back the extra xl_info bit. In any case the archiver could look for XLOG_BACKUP_END records if it thought it was worth the trouble to do so. Bump XLOG_PAGE_MAGIC since this is effectively a change in WAL format.
http://git.postgresql.org/pg/commitdiff/2dd9322ba6eea76800b38bfea0599fbc459458f2
- Add missing 'static' qualifier.
http://git.postgresql.org/pg/commitdiff/fb4bbc8113e5b5eb1233418ad1f92428339da370
- Add SP-GiST (space-partitioned GiST) index access method. SP-GiST is comparable to GiST in flexibility, but supports non-balanced partitioned search structures rather than balanced trees. As described at PGCon 2011, this new indexing structure can beat GiST in both index build time and query speed for search problems that it is well matched to. There are a number of areas that could still use improvement, but at this point the code seems committable. Teodor Sigaev and Oleg Bartunov, with considerable revisions by Tom Lane
http://git.postgresql.org/pg/commitdiff/8daeb5ddd698f661eb118f8e874e7c68cfd6ae09
- Fix compiler warning seen on 64-bit machine.
http://git.postgresql.org/pg/commitdiff/85df5dbf5ac56f75cf9e23fe4504f2e672893f30
- Fix some long-obsolete references to XLogOpenRelation. These were missed in commit a213f1ee6c5a1bbe1f074ca201975e76ad2ed50c, which removed that function.
http://git.postgresql.org/pg/commitdiff/dd45d3ad33bdb415b18ee8b37182b52c1c354cd6
- Remove bogus entries in gist point_ops operator class. These entries could never be matched to an index clause because they don't have the index datatype on the left-hand side of the operator. (Their commutators are in the opclass, which is sensible, but that doesn't mean these operators should be.) Spotted by a test that I recently added to opr_sanity to catch exactly this type of thinko. AFAICT there is no code in gistproc.c that is specifically meant to cover these cases, so nothing to remove at that level.
http://git.postgresql.org/pg/commitdiff/5577ca5bfb33bf7f31a03fc5b42a56de400e464e
- Defend against null scankeys in spgist searches. Should've thought of that one earlier.
http://git.postgresql.org/pg/commitdiff/b7a0e8fb4d6fafcd30555e4ddf18e77e138ec3d0
- Replace simple constant pg_am.amcanreturn with an AM support function. The need for this was debated when we put in the index-only-scan feature, but at the time we had no near-term expectation of having AMs that could support such scans for only some indexes; so we kept it simple. However, the SP-GiST AM forces the issue, so let's fix it. This patch only installs the new API; no behavior actually changes.
http://git.postgresql.org/pg/commitdiff/3695a555136a6d179cac8ae48d5f90171d5b30e9
Andrew Dunstan a poussé :
Peter Eisentraut a poussé :
Robert Haas a poussé :
- Fix typo.
http://git.postgresql.org/pg/commitdiff/f6835ea90ac4b6b87fcf9f042959756c246f8fbe
- Don't leave regress_test_role_super lying around. Fixes an oversight in commit fc6d1006bda783cc002c61a5f072905849dbde4b. Noted by Tom Lane.
http://git.postgresql.org/pg/commitdiff/d039fd51f79e9ddde4d692d2b396bdf5722b4c4e
- Improve behavior of concurrent ALTER <relation> .. SET SCHEMA. If the referrent of a name changes while we're waiting for the lock, we must recheck permissons. We also now check the relkind before locking, since it's easy to do that long the way. Patch by me; review by Noah Misch.
http://git.postgresql.org/pg/commitdiff/1da5c119594e4fb07fb6a2c57f66642fa5e966fb
- Improve behavior of concurrent rename statements. Previously, renaming a table, sequence, view, index, foreign table, column, or trigger checked permissions before locking the object, which meant that if permissions were revoked during the lock wait, we would still allow the operation. Similarly, if the original object is dropped and a new one with the same name is created, the operation will be allowed if we had permissions on the old object; the permissions on the new object don't matter. All this is now fixed. Along the way, attempting to rename a trigger on a foreign table now gives the same error message as trying to create one there in the first place (i.e. that it's not a table or view) rather than simply stating that no trigger by that name exists. Patch by me; review by Noah Misch.
http://git.postgresql.org/pg/commitdiff/74a1d4fe7cc092076806767925d6f34ea347efde
- Various micro-optimizations for GetSnapshopData(). Heikki Linnakangas had the idea of rearranging GetSnapshotData to avoid checking for sub-XIDs when no top-level XID is present. This patch does that plus further a bit of further, related rearrangement. Benchmarking show a significant improvement on unlogged tables at higher concurrency levels, and mostly indifferent result on permanent tables (which are presumably bottlenecked elsewhere). Most of the benefit seems to come from using the new NormalTransactionIdPrecedes() macro rather than the function call TransactionIdPrecedes().
http://git.postgresql.org/pg/commitdiff/0d76b60db4684d3487223b003833828fe9655fe2
Bruce Momjian a poussé :
Michael Meskes a poussé :
Correctifs rejetés (à ce jour)
- Pas de déception cette semaine :-)
Correctifs en attente
- Simon Riggs sent in two revisions of a patch which introduces regular keepalives from WALsender to WALreceiver, using a new protocol message 'k'.
- KaiGai Kohei sent in another revision of the patch intended to plug certain class of information leaks in VIEWs.
- Jeff Davis and Alexander Korotkov traded patches to clean up some infelicities in range types.
- Shigeru HANADA and Etsuro Fujita traded revisions of the patch to make it possible to collect statistics on CSV foreign tables.
- Peter Eisentraut sent in another revision of the patch adding type privileges.
- Marti Raudsepp sent in another revision of the patch to cache the results of functions with stable arguments.
- Brendan Jurd sent in a patch to add arithmetic operators for the macaddr type.
- Alexander Shulgin and Greg Smith traded patches to implement a URI syntax for PostgreSQL connection strings in libpq.
- Robert Haas sent in another revision of the patch to allow taking fewer snapshots per query.
- Greg Smith and Magnus Hagander traded revisions of a patch to allow users to kill their own queries.
- Pavel Stehule sent in four more revisions of the patch to add a CHECK FUNCTION statement.
- Andrew Dunstan sent in a patch to make libpgport build dynamically rather than statically.
- Shigeru HANADA sent in another flock of patches intended both to enable a PostgreSQL foreign data wrapper along with some new push-down capabilities for foreign data wrappers in general to make the aforementioned useful.
- Peter Geoghegan sent in another revision of the patch to alter pg_stat_statements to allow query tree based normalization.
- Robert Haas sent in two more revisions of the patch to store hot members of PGPROC out of the band.
- Robert Haas sent in another revision of the Flexlocks patch.
- Simon Riggs sent in another revision of a patch to fix some PGPROC race conditions.
- Heikki Linnakangas sent in a patch to move more work outside WALInsertLock, which bottlenecks operations when >1 core is available.
- Alvaro Herrera sent in another revision of the patch to make it possible to make CHECK constraints not be inherited by child tables in a table inheritance hierarchy.
- Robert Haas sent in another revision of the patch to add JSON as a first-class data type.
- Lionel Elie Mamane sent in a patch to build libpq with Mozilla LDAP instead of OpenLDAP.
- Phil Sorber sent in a WIP patch which improves relation size functions such as pg_relation_size() to avoid producing an error when called against a no longer visible relation.
- David Fetter sent in a patch to add optional page checksums.
- Dimitri Fontaine sent in a patch to make it possible to see and set EXTENSION dependencies functionally.