Lettre d'information de Dalibo

L'actualité de PostgreSQL et de ses projets satellites. Avril/Mai 2013.

Événements

Mises à jour mineures de PostgreSQL : 9.2.4, 9.1.9, 9.0.13, 8.4.17

Le groupe de développement de PostgreSQL a sorti une mise à jour de sécurité pour toutes les versions stables du SGBD PostgreSQL. Cela inclut les versions 9.2.4, 9.1.9, 9.0.13 et 8.4.17. Cette mise à jour corrige une faille de sécurité très critique dans les versions 9.0 et supérieures. Il est fortement recommandé à tous les utilisateurs des versions concernées d'appliquer la mise à jour immédiatement si cela n'a pas déjà été fait.

La faille de sécurité corrigée dans cette version a la dénomination CVE-2013-1899. Elle permettait à une requête de connexion contenant un nom de base de données commençant par ”-” d'être utilisé afin d'endommager ou de détruire des fichiers dans le répertoire de données du serveur. Quiconque ayant accès au port d'écoute de PostgreSQL peut initier une telle requête. Cette faille a été découverte par Mitsumasa Kondo et Kyotaro Horiguchi du NTT Open Source Software Center.

Deux autres correctifs de failles de sécurité moins importantes sont également inclus dans cette version: CVE-2013-1900, où un nombre généré aléatoirement par les fonctions du module contrib pgcrypto pouvait être facile à deviner par un autre utilisateur de la base de données, et CVE-2013-1901, qui permet à tort à un utilisateur non autorisé de lancer des commandes qui peuvent interférer avec une sauvegarde en cours. Finalement, cette version résout également deux problèmes de sécurité pour les installeurs graphiques pour Linux et Mac OS X : transmission non sécurisée des mots de passe super utilisateur à un script (CVE-2013-1903) et utilisation de noms de fichiers prévisibles dans /tmp (CVE-2013-1902). Marko Kreen, Noah Misch et Stefan Kaltenbrunner ont respectivement rapporté ces failles.

Nous sommes reconnaissants des efforts de chacun des développeurs pour rendre PostgreSQL plus sûr.

Cette mise à jour corrige également plusieurs erreurs dans la gestion des index GiST. Après la mise à jour, il est conseillé d'utiliser un REINDEX sur chacun des index GiST qui correspondent à un des problèmes reportés ci-dessous.

Cette mise à jour contient également des correctifs à plusieurs problèmes mineurs découverts et corrigés par la communauté PostgreSQL durant les deux derniers mois. Ces derniers permettent ainsi de:

  • Corriger les index GiST pour qu'ils n'utilisent plus de comparaisons géométriques «floues» pour des colonnes de type box, polygon, circle et point.
  • Corriger un problème dans le module contrib btree_gist sur les index GiST pour des colonnes de type text, bytea et numeric.
  • Corriger un bug dans le code de séparation pour les index GiST multi-colonnes.
  • Corriger une fuite tampon dans le rejeu des WAL causant des erreurs « incorrect local pin count ».
  • S'assurer d'effectuer la restauration avant d'entrer en restauration d'archive après un arrêt brutal lorsque le fichier recovery.conf est présent.
  • Éviter de supprimer les WAL non encore archivés lors d'une restauration après arrêt brutal.
  • Corriger un problème de séquencement critique (race condition) lors d'un DELETE RETURNING.
  • Corriger un crash possible du planificateur après l'ajout de colonnes à une vue dépendant d'une autre vue.
  • Éliminer une fuite mémoire dans la fonction spi_prepare() de PL/Perl.
  • Corriger pg_dumpall pour gérer correctement un nom de base de données contenant « = ».
  • Éviter un crash de pg_dump lorsqu'une chaîne de connexion incorrecte est utilisée.
  • Ignorer les index invalides dans pg_dump et pg_upgrade.
  • Inclure uniquement le sous-répertoire de la version courante du serveur lors d'une sauvegarde d'un tablespace avec pg_basebackup.
  • Ajouter une vérification de version de serveur dans les outils pg_basebackup et pg_receivexlog.
  • Corriger le module contrib dblink pour gérer de manière sécurisée des valeurs incohérentes des paramètres DateStyle ou IntervalStyle.
  • Corriger la fonction similarity() du module contrib pg_trgm pour retourner zéro pour les chaînes de moins d'un trigramme.
  • Permettre la compilation de PostgreSQL avec Microsoft Visual Studio 2012.
  • Mettre à jour les fichiers de données de fuseaux horaires pour les modifications de changements d'heure au Chili, Haïti, Maroc, Paraguay et quelques zones russes.

Comme avec les autres versions mineures, les utilisateurs n'ont besoin ni de sauvegarder et recharger leur instance, ni d'utiliser pg_upgrade pour appliquer cette mise à jour. Vous devez simplement arrêter PostgreSQL et mettre à jour les binaires. Les utilisateurs qui n'ont pas effectué les mises à jour précédentes peuvent avoir quelques étapes supplémentaires. Les détails sont disponibles dans les notes de version (Release Notes). Pour cette version, il est aussi conseillé de reconstruire (REINDEX) les index de type GIST qui pourraient exister sur les bases.

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 dès maintenant sur :

À noter que la FAQ a été complètement traduite par Dalibo. Elle est disponible sur http://www.dalibo.org/faq_alerte_securite_20130404

PG Day France le 13 juin à Nantes

Le 13 juin à Nantes se tiendra le PG Day France 2013, une journée de conférences et d'échanges sur le thème du SGBDR open source PostgreSQL. Cette journée sera également l'occasion de rencontrer les acteurs de la communauté PostgreSQL.

Dalibo est partenaire GOLD de l'événement et sera représentée par 4 de nos consultants:

  • Nouveautés de PostgreSQL 9.3 par Damien Clochard
  • ora2pg : Migration à Grande Vitesse par Gilles Darold
  • Comprendre EXPLAIN par Guillaume Lelarge
  • Requêtes LATERALes par Vik Fearing

Inscrivez-vous dès à présent, et retrouvez les informations complémentaires sur le site : http://www.pgday.fr/

D'autres personnes de Dalibo seront aussi présentes sur l’événement, aussi, nous vous donnons rendez-vous à Nantes le 13 juin !

Compte-rendu de PG Sessions #5

Dalibo a organisé le jeudi 28 mars 2013 à Paris une rencontre internationale consacrée au Système de Gestion de Bases de Données PostgreSQL sur le thème des performances.

Prévu pour 60 personnes, ce sont 80 personnes qui ont assisté aux différentes conférences sur les performances. Cela a commencé avec notre invité d'honneur, Markus Winand, tout droit venu de Vienne pour discuter des avantages et des inconvénients des index sur les performances. Julien Tachoire a présenté son outil, pg_activity, et montré en quoi il lui permettait de surperviser les performances de PostgreSQL et du système. Guillaume Lelarge a parlé rapidement de pgtune, un outil permettant de récupérer automatiquement une configuration qui, bien que non optimale, est tout de même bien meilleure que la configuration par défaut. Julien Rouhaud a donné quelques informations pour bien tailler son système matériellement et pour bien le configurer, notamment au niveau du système d'exploitation. Dimitri Fontaine a donné quelques exemples intéressants sur des façons de gagner en performance. Quant à Nicolas Thauvin, il a présenté un outil sur lequel il travaille depuis maintenant environ six mois: cet outil permet de surveiller les performances d'un système et de récupérer des graphes a posteriori. Marc Cousin a terminé la journée avec des explications sur la lecture d'un plan d'exécution tel que celui présenté par la commande EXPLAIN.

La journée a été bien remplie pour les participants qui ont aussi pu discuter avec les intervenants ainsi qu'avec l'équipe Dalibo, pendant les pauses du matin et de l'après-midi, ainsi que pendant le buffet du midi offert par Dalibo.

Cette journée a été un vrai succès et nous espérons organiser la 6ème édition de cet événement en septembre ou octobre prochain.

pgconf.eu 2013 à Dublin

Les prochaines conférences européennes sur PostgreSQL auront lieu à Dublin, Irlande, du 29 octobre au 1er novembre 2013. Elles dureront quatre jours, le premier étant consacré aux tutoriels, les autres aux conférences.

Dalibo sera présent en force à ces conférences et a déjà montré son implication en étant, cette année encore, sponsor SILVER de cette conférence.

Actualité des produits dérivés

  • E-Maj 1.0.2, une extension PostgreSQL permettant de tracer les mises à jour réalisées sur des tables et d'annuler ces mises à jour si nécessaire, http://pgfoundry.org/projects/emaj/

Avancées sur PostgreSQL

Sur ces deux derniers mois, beaucoup de temps a été passé sur les dernières versions correctives. Cependant, cela n'a pas empêché le développement de la prochaine version, dont la première beta devrait bientôt sortir.

Parmi les nouveautés les plus intéressantes, notons :

  • un pg_dump parallélisé ;
  • l'ajout de sommes de contrôle dans les fichiers de données ;
  • l'ajout des vues matérialisées ;
  • la possibilité d'écrire dans des tables distantes (Foreign Tables) ;
  • la possibilité d'attacher des valeurs par défaut aux colonnes d'une table distante ;
  • une amélioration des fonctions JSON (json_agg, to_json(), hstore_to_json(), hstore_to_json_loose())
  • un nouveau paramètre, lock_timeout, permettant d'annuler une requête si elle attend un verrou depuis plus d'un certain délai précisé par ce paramètre ;
  • l'indexation d'expressions rationnelles (dans le module contrib pg_trgm) ;
  • l'ajout du paramètre recovery_config_directory pour placer le fichier recovery.conf ailleurs que dans le répertoire des données.

Comme dit précédemment, la beta 1 de la version 9.3 devrait être sortie quand vous lirez cette lettre d'informations. Téléchargez-la, testez-la et indiquez aux développeurs de PostgreSQL ce que vous en pensez.

Avancées sur pgAdmin

Les développements continuent sur pgAdmin. Un vieux bug a été corrigé sur la gestion des droits par défaut. Deux nouvelles fonctionnalités ont été ajoutées : gestion du type smallserial et nouvelle option “tabulation” sur la fenêtre d'import de données.

Mais surtout, les développeurs continuent de travailler sur des fonctionnalités majeures comme la gestion internes des tunnels SSH et la refonte complète du debugger PL/pgSQL.

Avancées sur phpPgAdmin

Ce mois-ci marque l'arrivée de la version 5.1 de phpPgAdmin. Cette version est pleinement compatible avec PostgreSQL 9.2.

Elle comprend plusieurs correctif de bugs :

  • Correctif d'une faille importante, pouvant mener à la corruption de données de champs bytea (Jehan-Guillaume de Rorthais et Robert Treat) ;
  • Plusieurs correctifs pour régler des problèmes de standard PHP ;
  • Correctif des liens de navigation lors d'un parcours de résultat d'un rapport ;
  • Correctif de nombreux bugs liés aux paramètres GPC ;
  • Correctif d'un problème avec l'autocomplétion de texte basée sur les clés étrangères ;
  • Correctif d'un bug lors du parcours d'une table sans contrainte unique.

Ainsi que de nouvelles fonctionnalités :

  • Nouvelle architecture de plugins (Leonardo Sápiras, Jehan-Guillaume de Rorthais) ;
  • Gestion des groupes de serveurs imbriqués (Jehan-Guillaume de Rorthais et Julien Rouhaud) ;
  • Nombreux nouveaux tests unitaires Selenium ;
  • Mise en avant des champs référencés par une clé étrangère lors du parcours de tables (Leonardo Sápiras) ;
  • Implémentation simplifiée du système de traduction ;
  • Masquage des options annulation/fin dans la page des processus pour les utilisateurs non super-utilisateur ;
  • Ajout de la possibilité de téléchargement depuis la fenêtre d'historique ;
  • Requêtes utilisateurs paginées par défaut.

Les versions de PostgreSQL inférieures à la 8.4 ne sont maintenant plus testées, celles-ci n'étant plus supportées par la communauté.

Le cœur de phpPgAdmin utilise maintenant uniquement l'UTF-8.

Vous pouvez télécharger cette version depuis la page http://phppgadmin.sourceforge.net/doku.php?id=download.

Avancées sur Ora2Pg

Ces dernières semaines, Gilles Darold a concentré ses efforts sur les performances d'Ora2Pg et le traitement de gros volumes de données. L'outil a ainsi fait d'énormes gains de performances dans plusieurs parties du code :

  • parcours des bases Oracle contenant un grand nombre d'objets ;
  • génération des rapports de migration (format text et html) ;
  • ajout du parallélisme (multi-processing) pour l'export des données ;
  • export/import direct de table de partition à table de partition sans utilisation des triggers.

Toutes ces évolutions ont conduit à la publication d'une nouvelle version majeure, la 11.0. Aujourd'hui la dernière version 11.2, publiée début mai, corrige les derniers problèmes rapportés sur ces évolutions et est considérée la plus stable.

Avancées sur pgBadger

Autre outil développé par Gilles Darold de Dalibo, la dernière version de pgBadger (v3.3) a été elle aussi publiée début mai. Elle apporte cinq nouveaux rapports très intéressants:

  • les requêtes en attente les plus fréquentes, normalisées avec exemples ;
  • la liste des requêtes qui attendent le plus la libération d'un verrou ;
  • les requêtes qui génèrent le plus de fichiers temporaires, normalisées avec exemples ;
  • la liste des requêtes qui ont généré les plus gros fichiers temporaires.

Ces quatre rapports ont été créés par Thomas Reiss, de Dalibo. Le cinquième est l'équivalent du rapport horaire sur les CHECKPOINT mais côté serveur secondaire avec les “restartpoints” :

  • Statistiques horaire des restartpoints.

Ce rapport a été ajouté par Guillaume Lelarge, de Dalibo.

Depuis la version 3.0, de nombreux dysfonctionnements ont été corrigés, notamment sous Windows et sur le parallélisme, qui l'avait rendu inutilisable. Cette version 3.3 est considérée comme la plus stable de cette branche, ainsi il est fortement recommandé de faire la mise à jour.

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:


→ 13-15 mai, Formation PostGIS : Mise en oeuvre
→ 20-23 mai, Formation PostGIS : Fonctionnalités avancées
→ 27-29 mai, Formation Administration PostgreSQL
→ 03-05 juin, Formation PostgreSQL avancé
→ 10-11 juin, Formation Haute disponibilité avec PostgreSQL
→ 17-18 juin, Formation PostgreSQL Développeur
→ 09-10 juillet, Formation PostgreSQL Performance
→ 01-02 octobre, Formation Architectes PostgreSQL
→ 04-06 novembre, Formation SQL: conception et mise en oeuvre
→ 13-14 novembre, Formation Migration Oracle vers PostgreSQL

Retrouvez toutes nos dates et nos plans de cours sur : http://www.dalibo.com/formations

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

Dernières versions

Depuis le 4 avril 2013 :

  • 9.2.4
  • 9.1.9
  • 9.0.13
  • 8.4.17

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/mai_2013

Afficher le texte source