Lettre d'information de Dalibo

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

Événements

Sortie de PostgreSQL 9.2

Le groupe de développement de PostgreSQL (PGDG) vient d'annoncer la sortie de PostgreSQL 9.2, la dernière version du SGBD open source de référence. Depuis la sortie de la version beta en mai, les développeurs et les éditeurs plébiscitent cette nouvelle version, la considérant comme une véritable avancée en termes de performances, de montée en charge et de flexibilité. Elle devrait être rapidement adoptée par de nombreux utilisateurs.

« Les entreprises qui utilisent déjà PostgreSQL ne seront pas surprises par toutes ces nouveautés», estime Jean-Paul Argudo, directeur général de DALIBO, société française spécialiste de PostgreSQL, avant d'ajouter: « nous avons à présent une version majeure de PostgreSQL chaque année, et depuis plus de cinq ans, chacune a amené son lot d’innovations, en plus d'améliorer l'existant. C'est d'ailleurs devenu une constante: le projet arrive à être en avance sur les SGBD propriétaires, en proposant des fonctionnalités inédites!»

L'accent mis sur la performance et la scalabilité

Avec l'ajout de fonctionnalités telles que la scalabilité linéaire jusqu'à 64 cœurs, les parcours d'index seuls (“index-only scans”) et la réduction de la consommation énergétique des processeurs, PostgreSQL 9.2 a amélioré drastiquement sa capacité de montée en charge et sa flexibilité.

Des organisations comme la Federal Aviation Administration (http://www.faa.gov/), le service de cloud computing d'Heroku (http://www.heroku.com/) exploitent des applications basées sur PostgreSQL. En France, des acteurs tels que Météo France (http://www.meteo.fr/), le moteur de recherche « Voilà » (http://www.voila.fr/) ou encore le site « Le bon coin » (http://www.leboncoin.fr/) utilisent PostgreSQL depuis plusieurs années.

Grâce aux améliorations en termes de scalabilité, PostgreSQL exploite au mieux les ressources matérielles des serveurs les plus puissants. Il y a d'autres avancées comme par exemple dans la gestion des verrous, des écritures plus efficaces, la lecture directe des index et bien d'autres opérations de bas-niveau. Tout ceci permet au moteur de données de gérer des trafics et des volumes d'informations très importants.

Voici quelques chiffres pour visualiser les progrès réalisés entre la version 9.1 et la version 9.2:

  • Jusqu'à 350 000 requêtes SELECT par secondes (4 fois plus rapide);
  • Jusqu'à 14 000 écritures de données par secondes (5 fois plus rapide);
  • Les parcours d'index seuls vont révolutionner les requêtes sur les bases de type “entrepôt de données” (de 2 à 20 fois plus rapide).

De plus, l'arrivée de la réplication en mode “cascade” apporte de nouvelles possibilités en termes de scalabilité horizontale.

Plus de flexibilité pour les développeurs

La flexibilité est la marque de fabrique de PostgreSQL. Pour s'en convaincre, il suffit de constater la diversité des organisations l'ayant adopté. Par exemple: la NASA (http://www.nasa.gov/), le marché à terme de Chicago (http://www.cmegroup.com/) et le service de photo en ligne Instagram (http://instagr.am/) font confiance à PostgreSQL pour leurs applications stratégiques. La version 9.2 étend encore cette flexibilité en incluant les nouveaux types de données RANGE et le support du format JSON, ouvrant ainsi la voie vers de nouveaux usages.

Les types de données RANGE sont utiles pour les applications qui manipulent des calendriers, des données scientifiques ou financières. Aucun autre SGBD ne propose cette fonctionnalité, qui permet de traiter intelligemment les blocs temporels.

Avec PostgreSQL 9.2, les résultats de requêtes peuvent être retournés au format JSON. En associant cela avec les extensions PL/V8 (javascript), PL/Coffee (coffeescript) et hstore (stockage clef-valeur), les utilisateurs peuvent maintenant utiliser PostgreSQL comme une base documentaire “NoSQL”… tout en conservant la robustesse, la flexibilité et les performances de PostgreSQL.

Pour Guillaume Lelarge, directeur technique de Dalibo, cette version va toucher un nouveau public: « Avec la version 9.2, PostgreSQL fait un pas en avant vers les développeurs. Le support de JSON est un message clair: PostgreSQL est l'outil idéal pour créer des applications innovantes et exploiter la puissance des outils de développement modernes comme le framework node.js par exemple. De plus, l'extension hstore est la preuve que PostgreSQL a évolué pour répondre aux enjeux soulevés par le mouvement NoSQL ».

Pour découvrir toutes ces nouvelles possibilités, Dalibo propose des “Workshop PostgreSQL”: des ateliers d'une journée ouverts à tous. L'entrée est gratuite et sans engagement mais le nombre de places est limité. Le prochain atelier se tiendra le 19 octobre à Paris. Plus d'informations sur http://www.dalibo.org/postgresql_workshop_19_octobre_2012

Annonce officielle: http://www.postgresql.org/about/news/1415/
Notes de version: http://www.postgresql.org/docs/current/static/release-9-2.html
Téléchargements: http://www.postgresql.org/download/
Revue des nouveautés: http://wiki.postgresql.org/wiki/What's_new_in_PostgreSQL_9.2

Mises à jour mineures de PostgreSQL : 9.1.5, 9.0.9, 8.4.13, 8.3.20

Le projet PostgreSQL a sorti le 17 août dernier des mises à jour de sécurité pour toutes les branches actives du SGBD PostgreSQL. Ces mises à jour correspondent aux versions 9.1.5, 9.0.9, 8.4.13 et 8.3.20.

Celles-ci corrigent des failles de sécurité liées à libxml2 et libxslt, similaires à celles affectant les autres projets open source utilisant ces bibliothèques. Il est conseillé à tous les administrateurs de bases de données PostgreSQL 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 publication de sécurité corrige une vulnérabilité dans les fonctionnalités intégrées XML et XSLT qui sont incluses avec l'extension XML2 en option. Ces deux vulnérabilités permettent la lecture de fichiers arbitraires par n'importe quel utilisateur de base de données authentifié, et la vulnérabilité XSLT permet aussi l'écriture de fichiers. Les correctifs posent quelques problèmes de compatibilité ascendante. Cette mise à jour inclut deux correctifs de sécurité pour les failles suivantes :

La bibliothèque libxslt offre la possibilité de lire et d'écrire des fichiers et URL au travers de commandes de feuilles de style, ce qui permet à un utilisateur non privilégié de la base de données de tenter de lire et d'écrire des données avec les droits du serveur de base de données. Il convient de désactiver cela au travers des propres options de sécurité de la bibliothèque libxslt.

La fonction xml_parse() pourrait tenter de récupérer des fichiers externes ou des URL pour résoudre des DTD et des entités de référence dans une valeur XML, ce qui permet à un utilisateur non privilégié de la base de données de tenter de ramener des données avec les droits du serveur de base de données. Même si les données externes ne sont pas renvoyées directement à l'utilisateur, des portions de ces données peuvent être exposées dans le message d'erreur affiché si les données XML sont détectés comme n'étant pas valides; et dans tous les cas la possibilité de tester l'existence d'un fichier peut être utile pour un attaquant.

Les utilisateurs qui utilisent la fonctionnalité XML interne pour valider des DTD externes auront besoin de développer une solution de contournement car le patch de sécurité désactive cette fonctionnalité. Les utilisateurs qui utilisent xslt_process() pour rapporter des documents ou feuilles de style à partir d'URL externe ne seront plus capable de le faire. Le projet PostgreSQL regrette qu'il ait été nécessaire de désactiver ces deux fonctionnalités pour maintenir le niveau de sécurité habituel. Ces problèmes de sécurité sont relativement similaires aux problèmes corrigés récemment par les projets WebKit (CVE-2011-1774), XMLsec (CVE-2011-1425) et PHP5 (CVE-2012-0057).

Cette mise à jour contient également plusieurs correctifs pour la version 9.1 et un petit nombre de correctifs pour les versions plus anciennes:

  • Mise à jour et corrections des données de timezone;
  • Nombreuses mises à jour et corrections dans la documentation;
  • Ajout d'une limite au paramètre max_wal_senders;
  • Corrections des dépendances générées pendant un ALTER TABLE ADD CONSTRAINT USING INDEX;
  • Correction du comportement des conversions unicode pour PL/Python;
  • Correction de WITH attaché à un ensemble d'opérations imbriquées (UNION/INTERSECT/EXCEPT);
  • Correction du syslogger pour que log_truncate_on_rotation fonctionne lors de la première rotation;
  • Autorise uniquement autovacuum à être automatiquement annulé par un processus directement bloqué;
  • Amélioration des opérations des demandes de file d'attente par fsync;
  • Suppression d'un cas particulier de core dump dans rfree();
  • Correction de walsender pour qu'il réponde correctement aux délais et deadlocks;
  • Plusieurs corrections dans PL/Perl relatives à des problèmes d'encodage;
  • Correction des opérateurs de sélectivité pour qu'ils utilisent la bonne collation;
  • Correction empêchant les esclaves inaptes d'être choisis pour la réplication synchrone;
  • Correction pour faire en sorte que REASSIGN OWNED fonctionne aussi avec les extensions;
  • Correction d'un cas non traité dans les comparaisons à base d'ENUM;
  • Correction pour que NOTIFY prenne mieux en compte les problèmes de manque d'espace disque;
  • Correction d'une fuite mémoire dans les sous-select de requêtes ARRAY;
  • Réduction de la perte de données lors du basculement de la réplication;
  • Correction du comportement des sous-transactions avec le Hot Standby.

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, il suffit d'arrêter PostgreSQL, de mettre à jour les exécutables et de redémarrer PostgreSQL. Il faut réaliser les étapes post-mise-à-jour une fois le serveur redémarré.

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. Au cas où vous ne l'auriez pas encore fait, 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:

pgconf.eu: planning des conférences publié !

pgconf.eu 2012 a lieu à Prague cette année, du 23 au 26 octobre. Il est toujours possible de s'enregistrer sur http://2012.pgconf.eu/registration/ en profitant du tarif spécial des inscriptions, tarif qui disparaît le 9 septembre pour revenir au tarif standard, 20 euros plus cher.

La grosse annonce réside dans la publication du planning des conférences que vous trouverez sur http://www.postgresql.eu/events/schedule/pgconfeu2012/

Vous retrouverez les acteurs majeurs de PostgreSQL comme Bruce Momjian, Magnus Hagander, Devrim Gunduz, Simon Riggs, Guillaume Lelarge, Tatsuo Ishii et David Fetter.

Au niveau de Dalibo, trois personnes donneront des conférences :

  • Guillaume Lelarge, avec « Understanding EXPLAIN » ;
  • Jehan-Guillaume de Rorthais, avec « Pacemaker and PostgreSQL: to serve and protect your data » ;
  • et Julien Rouhaud, avec « PostgreSQL makes dev happy, a pgAgent + pl/pgsql use case ».

Nous serons ravis de vous retrouver à Prague. N'hésitez pas à vous inscrire rapidement pour bénéficier du tarif spécial encore disponible.

Workshop « Nouveautés de PostgreSQL 9.2 »

La sortie de PostgreSQL 9.2 est imminente! À l'occasion de l'arrivée de cette nouvelle version, Dalibo propose plusieurs ateliers d'une journée pour en découvrir les nouveautés et les améliorations.

Le premier a eu lieu le vendredi 7 septembre, affichant complet. Un nouvel atelier se tiendra le 19 octobre 2012 dans les locaux de Dalibo, au 10 rue d'Uzès à Paris (M° Grands Boulevards). Voir le plan d'accès.

Au menu: démonstrations, travaux pratiques, échanges entre professionnels et séances des questions/réponses pour mieux comprendre ce que PostgreSQL 9.2 va changer pour vos bases de données et vos environnements de production.

Les ateliers s'étendront de 9h à 17h selon le programme suivant :

9h - 9h30 Accueil autour d'un café
9h30- 11h Présentation des nouveautés
11h - 12h Compilation / Installation / Tests
12h - 13h Repas
13h - 14h Réplication en cascade, utilisation de pg_receivexlog
14h - 15h Performances : parcours d'index seuls
15h - 16h Type range
16h - 17h Questions / Réponses

Des invitations gratuites et sans engagement sont disponibles sur simple demande dans limite d'une inscription par société et par workshop.

Le nombre de places est limité. Inscrivez-vous rapidement: http://fr.amiando.com/dalibo_workshop_9

Nous pouvons également venir présenter gratuitement la version 9.2 dans vos locaux, dans la mesure de nos disponibilités. Pour cela ou pour toute autre demande de service, contactez nous à l'adresse workshop@dalibo.com ou +33 1 83 64 61 88

PostgreSQL Session #4

Dalibo organise le jeudi 4 octobre 2012 à Paris une rencontre internationale consacrée au Système de Gestion de Bases de Données PostgreSQL.

Le thème de cette journée sera la migration, avec des invités de marque notamment:

  • Gabriele Bartolini (Italie), développeur de barman;
  • Albe Laurenz (Autriche), contributeur de PostgreSQL, DBA à Vienne.

L'objectif de cette conférence est de faire un tour d'horizon de la migration d'un serveur de bases de données vers PostgreSQL et de l'après-migration: ora2pg et Kettle pour la migration en elle-même, le FDW Oracle quand une migration complète n'est pas possible, barman pour la sauvegarde, pgbadger pour la recherche de performances, PGXC pour un cluster de serveurs maîtres. Nous en profiterons aussi pour faire le point sur les nouveautés de PostgreSQL 9.2.

Retrouvez le programme complet sur notre site: http://www.postgresql-sessions.org/4/

La session se tiendra de 9h30 à 17h30 au Comptoir Général situé 80 quai de Jemmapes à Paris ( http://osm.org/go/0BPIqc7Q )

Cet événement est gratuit et ouvert à tous, dans la limite des places disponibles.

Les inscriptions se font via la page ci-dessous : http://www.postgresql-sessions.org/4/registration_form

Pour toute précision, n'hésitez pas à envoyer un message à contact@postgresql-sessions.org

Bonne journée et rendez-vous le 4 octobre à Paris !

Actualité des produits dérivés

Avancées sur PostgreSQL

Les corrections ont continué sur la version en cours de développement, ainsi que sur les versions mineures. Cela a permis a sortie de plusieurs versions ce mois-ci:

  • une beta 3 le 6 août;
  • une beta 4, et des versions mineures le 15 août;
  • une RC 1, le 27 août.

Cela n'a pas empêché les développeurs de travailler sur la prochaine version (pour l'instant numérotée 9.3), notamment avec l'implémentation des sous-requêtes LATERAL. La clause LATERAL manquait à PostgreSQL pour améliorer son support du standard SQL, ce manque a enfin été comblé.

Parmi les autres nouveautés, notons le support de l'utilisation de plusieurs sockets de domaine Unix par la même instance PostgreSQL, ainsi que le support des index SP-GiST pour les types d'intervalles de valeurs. Notons aussi le gros travail pour améliorer et corriger l'implémentation des « event triggers ».

Avancées sur pgAdmin

Les développeurs de pgAdmin continuent le travail sur la version 1.16: 5 bugs ont été corrigés par Dave Page, et 6 par Guillaume Lelarge.

Les traductions russe, lettone, et chinoise ont été mises à jour.

En un mois, deux versions sont sorties successivement: la beta 3 et la beta 4. Par manque de temps, il n'y a pas eu de RC1.

Avancées sur phpPgAdmin

Les développeurs n'ont pas chômé cet été, avec principalement la finalisation de la réécriture de la gestion des plugins, qui permet dorénavant une intégration totalement transparente. Deux plugins sont d'ores et déjà disponibles:

  • Report, pour gérer des états;
  • GuiControl, un plugin permettant de désactiver les fonctionnalités voulues de phpPgAdmin.

La gestion des groupes imbriqués a également été ajoutée, pour permettre une configuration et répartition plus fines de ses serveurs pour des installations gérant un grand nombre de serveurs PostgreSQL.

La sortie de la version 5.0.5 est prévue pour le courant du mois de Septembre.

Avancées sur ora2pg

Cet été, trois nouvelles versions d'Ora2Pg ont vu le jour depuis la dernière lettre d'information, 9.0, 9.1 et 9.2, dont la dernière il y a seulement quelques jours!

Le changement majeur de version est principalement expliqué par la reprise complète de l'arborescence du projet afin de garantir le support du système d'exploitation Windows où, jusque là, l'installation engendrait quelques erreurs.

La version 9.1 ajoute des barres de progressions lors de l'export des données, très utile pour savoir où en est l'export sur un gros volume de données. Il y a aussi l'ajout de deux nouvelles variables de configuration EXPORT_SCHEMA et PG_INTEGER_TYPE qui permettent respectivement de désactiver l'ordre de création du schéma à l'export des tables et d'activer (ou désactiver) la conversion des NUMBER(p) en smallint, integer ou bigint au lieu de numeric(p). PG_NUMERIC_TYPE est maintenant uniquement réservé à l'export des NUMBER(p,s) en real et double precision ou decimal(p,s).

L'ajout majeur de la version 9.2 est la possibilité d'exporter directement les données des tables contenant des colonnes à base de types composites. Auparavant, l'export résultait en une référence de tableau Perl:

      INSERT INTO tbl_pv (id, type_pv) VALUES (1, ARRAY(0xa555fb8));

maintenant l'export génère ce type d'ordre INSERT:

      INSERT INTO tbl_pv (id, type_pv) VALUES (1, ROW('Excès de vitesse', 120, 90));

Cette version supprime le besoin de la directive ORA_SENSITIVE pour les exports d'objets avec des noms sensible à la casse. La gestion de la casse est maintenant totalement transparente.

Bien sûr, chacune de ces versions apporte son lot de corrections de bugs, et nous vous encourageons donc à n'utiliser toujours que la dernière version disponible.

Avancées sur les produits satellites

Le développement de la version majeure 2.2 de Slony continue. Cela n'a pas empêché les développeurs de Slony de proposer une nouvelle version mineure de la branche 2.1. La 2.1.2 propose ainsi depuis le 27 août quelques corrections de bugs, dont celle relative à une fuite mémoire, et la possibilité d'être utilisé avec PostgreSQL 9.2.

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 :


→ 12-14 septembre, formation Administration PostgreSQL
→ 19-20 septembre, formation Migration Oracle vers PostgreSQL
→ 26-27 septembre, formation Architecture PostgreSQL
→ 15-18 octobre, formation Administration Avancée PostgreSQL
→ 25-26 octobre, formation PostgreSQL Haute-disponibilité
→ 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 17 août 2012 :

  • 9.2.0
  • 9.1.5
  • 9.0.9
  • 8.4.13
  • 8.3.20

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

Afficher le texte source