Lettre d'information de Dalibo

L'actualité de PostgreSQL et de ses projets satellites. Juin 2012.

Événements

PostgreSQL 9.2, en version beta

Début mai, le groupe de développement de PostgreSQL a annoncé la sortie de la version beta de PostgreSQL 9.2, la prochaine édition du SGBDR le plus avancé du marché.

La version 9.2 contient des améliorations majeures au niveau des performance et de la scalabilité verticale et horizontale. Tous les utilisateurs de PostgreSQL sont invités à télécharger et à tester PostgreSQL 9.2 beta dès que possible.

Les avancées en termes de performances et de scalabilité de cette version sont nombreuses:

  • Ajout du parcours d'index seul (“Index-only Scan”) permettant d'éviter de parcourir inutilement les tables dans plusieurs cas ;
  • Meilleures performances sur les serveurs ayant 64 cœurs permettant d'aller au-delà de 300 000 requêtes par seconde ;
  • Amélioration de la vitesse d'écriture, notamment sur les commits groupés (“group commit”) ;
  • Réduction de la consommation énergétique des processeurs ;
  • Réplication en cascade et support des bases esclaves distribuées géographiquement.

PostgreSQL 9.2 propose également de nouvelles possibilités pour les développeurs, en particulier :

  • Support du format JSON, utile pour les bases hybrides documentaire-relationnel ;
  • Les types “RANGE”, utiles pour les calendriers et les applications analytiques ;
  • Nombreuses améliorations sur ALTER et d'autres commandes, qui faciliteront les mises à jour de schémas.

Pour la liste complète des fonctionnalités de la version 9.2, consultez les notes de versions à cette adresse: http://www.postgresql.org/docs/devel/static/release-9-2.html

La communauté des utilisateurs joue un rôle important lors des test des versions beta de PostgreSQL, ce qui garantit les performances et évite les erreurs.

Téléchargez PostgreSQL 9.2 beta et essayez-le dans votre contexte, avec vos applications. Envoyez ensuite vos commentaires aux développeurs de PostgreSQL. Vous trouverez plus de détails sur la démarche à suivre sur le site officiel: http://www.postgresql.org/developer/beta/

Les fichiers binaires et les installeurs de PostgreSQL 9.2 beta sont disponibles sur cette page : http://www.postgresql.org/download/

La documentation complète est en ligne : http://www.postgresql.org/docs/devel/static/

Mises à jour mineures de PostgreSQL : 9.1.4, 9.0.8, 8.4.12, 8.3.19

Le projet PostgreSQL a sorti très récemment des mises à jour de sécurité pour toutes les branches actives du SGBD PostgreSQL. Ces mises à jour correspondent aux versions 9.1.4, 9.0.8, 8.4.12, 8.3.19.

Les utilisateurs de la fonction crypt(text, text) avec le chiffrement DES du module optionnel pg_crypto doivent mettre à jour leur installation immédiatement. Il est conseillé à tous les autres administrateurs de bases de données de mettre à jour leur version de PostgreSQL lors de leur prochain arrêt de maintenance. Vous trouverez plus de détails sur les corrections de failles de sécurité ci-dessous.

Cette mise à jour contient 42 correctifs pour la version 9.1. Les versions plus anciennes ont moins de correctifs. Parmi les correctifs on trouve:

  • Correction du script de mise à jour de l'extension citext pour les collationnements sur des tableaux de données de type citext et sur des domaines utilisant citext comme type de base
  • Correction de la gestion des fuseaux horaires
  • Correction du type text ou du type char pour nommer les conversions réalisant des tronquage de chaînes de caractères ayant des encodages multi-octets
  • Correction d'un bug de copie mémoire dans to_tsquery()
  • S'assure que txid_current() rapporte le bon epoch quand cette fonction est exécutée sur un esclave dans le mode hot standby
  • Correction de la façon dont le planificateur gère les sous-SELECT référençant des variables provenant du côté potentiellement NULL d'une jointure externe de la requête englobante
  • Correction de la planification des sous-requêtes unies avec UNION ALL dont les colonnes en sortie ne sont pas de simples variables
  • Correction de la lenteur de démarrage des sessions lorsque le catalogue système pg_attribute est très volumineux
  • S'assure que les parcours séquentiels vérifient suffisamment fréquemment les demandes d'annulation de requêtes
  • Show whole-row variables safely when printing views or rules
  • Correction de COPY FROM pour qu'il gère proprement les chaînes de marqueur null qui correspondent à un encodage invalide
  • Correction d'EXPLAIN VERBOSE pour les requêtes CTE en écriture contenant des clauses RETURNING
  • Correction de PREPARE TRANSACTION pour qu'il fonctionne correctement, même en présence de verrous informatifs
  • Corrections de bugs avec des tables temporaires utilisées dans les scripts d'installation des extensions
  • S'assure que les processus « autovacuum worker » réalisent une vérification de la profondeur de la pile
  • Correction du collecteur de traces pour ne pas perdre la cohérence des traces sous forte charge
  • Correction du collecteur de traces pour s'assurer qu'il va relancer la rotation des fichiers à réception du signal SIGHUP
  • Correction de la logique de rejeu des journaux de transactions pour que les index GIN ne posent pas de problème si ces index sont supprimés par la suite
  • Ignorer le délai de la réplication synchrone lors de la validation d'une transaction qui a seulement modifié des tables temporaires

Comme pour les autres versions mineures, il n'est pas nécessaire de sauvegarder et recharger les bases de données. Il n'est pas utile non plus d'utiliser pg_upgrade. Pour appliquer cette mise à jour, arrêtez PostgreSQL, mettez à jour les exécutables et redémarrez PostgreSQL. Puis réalisez les étapes post-mise-à-jour une fois le serveur redémarré. Si vous utilisez le type de données citext et que vous avez migré à partir d'une ancienne version majeure en utilisant pg_upgrade, merci de lire les notes de version pour la 9.1.4 pour effectuer quelques étapes supplémentaires importantes.

Cette mise à jour inclut deux corrections de sécurité pour les failles suivantes :

  • CVE-2012-2143: Fix incorrect password transformation in contrib/pgcrypto’s DES crypt() function

Cette vulnérabilité affecte les utilisateurs de PostgreSQL qui utilisent la fonction crypt(text, text) (dans le module pg_crypto) avec le chiffrement DES et des mots de passe non-ASCII. Les mots de passe affectés sont ceux qui contiennent la valeur 0x80. Les caractères après cet octet sont ignorés, rendant le mot de passe réel plus petit et donc plus facile à découvrir. Après la mise à jour, tous les mots de passe contenant cet octet doivent être engendrés de nouveau.

  • CVE-2012-2655: Ignore SECURITY DEFINER and SET attributes for a procedural language’s call handler

L'application de ces attributs au gestionnaire d'appels du langage pouvait causer un crash du serveur.

Toutes les versions supportées de PostgreSQL sont affectées. Les notes de version de chaque branche contiennent une liste complète des modifications avec de nombreux détails.

Pour les clients de Dalibo sous contrat Support PostgreSQL Premium, bénéficiant ainsi des mises à jour effectuées par notre service de support, nous profitons de cette annonce pour vous informer que nous avons procédé à la création de tickets d'intervention visant à mettre à jour vos serveurs. Nous vous invitons à nous faire part de vos contraintes quant à l'arrêt nécessaire du serveur PostgreSQL pour l'application de cette mise à jour dans ce(s) ticket(s) d'intervention.

Téléchargez les nouvelles versions maintenant sur :

Solutions Linux 2012

PostgreSQLfr aura un stand à Solutions Linux 2012. Cet événement aura lieu les 19, 20 et 21 juin 2012, au CNIT à Paris La Défense. N'hésitez pas à venir nombreux sur le stand de l'association.

Jean-Paul Argudo donnera une conférence (« PostgreSQL 9.x : une nouvelle ère ! »), l'après-midi du mercredi 20 juin 2012 dans le thème des bases de données.

PostgreSQL Conference Europe 2012 : 23-26 octobre 2012, Prague

L'événement PostgreSQL Conference Europe 2011 se tiendra du 23 au 26 Octobre à Prague (République Tchèque) au sein de l’hôtel Corinthia. La conférence s'adresse aux utilisateurs de PostgreSQL, aux développeurs et aux contributeurs de la communauté, mais aussi aux décideurs et aux politiques.

L'appel à conférences (http://2012.pgconf.eu/callforpapers/) a été lancé le 15 mai. Contrairement à l'année dernière, les interventions en français ne sont plus possibles. Mais rien ne vous empêche de proposer une conférence en anglais !

De plus, l'équipe derrière PostgreSQL Conference Europe 2012 est toujours en recherche de sponsors. Pour plus d'informations sur les différents niveaux de sponsoring, consultez la page http://2012.pgconf.eu/becomesponsor/.

Naturellement, de son côté, Dalibo est toujours et encore sponsor de l’événement cette année.

Plus d'informations sur : http://2012.pgconf.eu/.

PGCon 2012

L'événement des contributeurs de PostgreSQL a de nouveau eu lieu à l'université d'Ottawa. Elle a réunit un grand nombre de contributeurs et de développeurs.

Comme chaque année, Dalibo y a participé. Jean-Paul Argudo, Gilles Darold et Guillaume Lelarge ont assisté aux conférences et aux réunions (par exemple celle sur les solutions de réplication), et donné des conférences.

Gilles Darold a donné une conférence sur pgBadger, outil destiné à remplacer pgFouine, et écrit par lui. Sa présentation est disponible sur http://www.dalibo.org/lightning_talk_sur_pgbadger.

Guillaume Lelarge a, quant à lui, redonné sa conférence sur le système des hooks dans PostgreSQL. Sa présentation est disponible sur http://www.dalibo.org/hooks_in_postgresql.

En ce qui concerne les autres conférences, elles sont téléchargeables sur le site du PGCON (http://www.pgcon.org) et des vidéos (uniquement la présentation avec la bande audio) sont disponibles sur youtube (http://www.youtube.com/playlist?list=PLDCEDFA1A30DEE336).

Articles sur PostgreSQL 9.1

Les deux articles sur les nouveautés de la version 9.1 publiés chez GNU/Linux Magazine France sont désormais disponibles sur dalibo.org :

Actualité des produits dérivés

  • SIDU 3.5 for PostgreSQL, un outil web pour l'administration de bases de données, http://sidu.sf.net

Avancées sur PostgreSQL

Ce fut un mois chargé pour les développeurs de PostgreSQL. Un grand nombre de corrections ont été apportées au code de PostgreSQL, pour avoir une première version beta déjà très stable. Des améliorations ont été effectuées sur la documentation. Les notes de version ont été écrites.

Tout cela a permis la sortie d'une version 9.2 beta 1 juste avant l'événement PGCON 2012, et la sortie d'une version beta 2 juste avant la sortie de la présente newsletter mensuelle !

Dans les améliorations apportées à la beta 2, notons la réduction de consommation de courant des processus « stats collector », walwriter, et checkpointer. Notons aussi la suppression des anciens ports non maintenus. Enfin, les messages de type « unexpected EOF » (indiquant que le client s'est déconnecté sans prévenir) ont vu leur niveau baisser. Ils sont maintenant disponibles uniquement en DEBUG1 sauf si la session abandonnée se trouvait dans une transaction ouverte (auquel cas l'ancien niveau du message est conservé).

Avancées sur pgAdmin

Il y a eu beaucoup de versions sorties ce mois-ci pour pgAdmin : tout d'abord la version 1.16 beta 1, puis une version corrective (la 1.14.3), et enfin la version 1.16 beta 2. Cela a demandé beaucoup de travail à Dave Page pour s'assurer que l'installeur était à jour.

La version 1.14.3 propose 29 correctifs, n'hésitez pas à l'installer pour en profiter. Si vous voulez tester la nouvelle version 1.16 en beta actuellement, cela nous aiderait beaucoup à avoir une version finale très stable. Un document sur les nouveautés de cette version est en cours d'écriture.

Début mai, Guillaume Lelarge a commencé un travail de fond sur pgAdmin : revue des différents objets PostgreSQL gérés par pgAdmin. Il a commencé avec les langages et les agrégats. Il a ainsi découvert que le support de la fonction “inline” n'était pas encore couvert par l'objet language, et que les droits n'étaient pas gérés pour les aggrégats (dans le sens où il n'était pas possible de les configurer). Ces deux manques ont été comblés à la version 1.16.

Un autre travail de fond va commencer sur la documentation.

Avancées sur les produits satellites

On commence à voir quelques mouvements sur les produits satellites pour ajouter la compatibilité à la version 9.2 de PostgreSQL : phpPgAdmin, check_postgres et Slony en sont quelques exemples.

Les développeurs de Skype ont sorti deux versions correctives. La nouvelle version des Skytools apporte quelques nouvelles fonctionnalités mineures, et quelques correctifs. Quant à la version corrective de pgbouncer, elle n'apporte qu'un petit correctif sur l'utilisation du paramètre reserve_pool_timeout (son unité est la seconde, et non la microseconde).

Les développeurs de Postgres-XC ont sorti une nouvelle version beta avec un bon nombre de correctifs juste avant PGCON, ce qui leur a permis de faire leur tutoriel avec cette version.

check_postgres retrouve un peu d'activité. Un bon nombre de correctifs a été intégré. Dans les nouvelles fonctionnalités, notons un cache sur les types de données et les séquences, qui a un impact important sur l'action same_schema (vérifications des différences au niveau structure de deux bases de données).

Sessions de formation

Dalibo organise régulièrement des sessions de formation à Paris et en province. Les prochaines sessions inter-entreprises auront lieu aux dates suivantes :


→ 21-22 juin, formation PostgreSQL Haute-disponibilité
→ 27-29 juin, formation Administration PostgreSQL
→ 16-19 juillet, formation Administration Avancée PostgreSQL
→ 19-20 septembre, formation Migration Oracle vers PostgreSQL
→ 26-27 septembre, formation Architecture PostgreSQL
→ 05-07 novembre, formation Développeur (PL/PGSQL)

N'hésitez pas à nous contacter aussi pour tout besoin de formation en intra-entreprise.

Dernières versions

Depuis le 4 juin 2012 :

  • 9.1.4
  • 9.0.8
  • 8.4.12
  • 8.3.19

Versions obsolètes :

  • 8.2.23, 8.1.22, 8.0.26, 7.4.30

Informations générales

Cette lettre d'information présente l'actualité francophone et internationale de PostgreSQL et de ses logiciels satellites. Elle vous est proposée par la société Dalibo.

Dalibo est une société d'expertise sur PostgreSQL et tous ses projets satellites.

Dalibo peut vous accompagner dans la mise en œuvre efficace et professionnelle de PostgreSQL. Qu'il s'agisse d'un nouveau projet ou de la migration d'un existant, notre équipe d'experts se tient à votre disposition.

Si vous ne souhaitez plus recevoir cette lettre, envoyez simplement un courriel à l'adresse : newsletter-desabonnement@listes.dalibo.com

Vous pouvez retrouver cette lettre à l'adresse suivante :

http://dalibo.org/juin_2012

Afficher le texte source