Lettre d'information de Dalibo

L'actualité de PostgreSQL et de ses projets satellites. Mai 2010.

Événements

Google Summer Of Code

Cette année, PostgreSQL a vu six projets sélectionnés dans le cadre des bourses du Google Summer Of Code. Six étudiants vont donc travailler pour ajouter des fonctionnalités à PostgreSQL mais aussi à pgAdmin et phpPgAdmin.

Voici les différents projets :

  • ajout de la commande MERGE, par Boxuan Zhai (responsable Heikki Linnakangas) ;
  • ajout du type de données JSON, par Joseph Adams (responsable Magnus Hagander) ;
  • ajout des vues matérialisées, par Pavel Baros (responsable Robert Haas) ;
  • visualisateur de différence de schémas, par Adeel Khan (responsable Dave Page) ;
  • outil graphique de design de bases de données pour pgAdmin, par Luis Ochoa (responsable Guillaume Lelarge) ;
  • amélioration de l'ergonomie de phpPgAdmin, par Leonardo Augusto Sapiras (responsable Jehan-Guillaume de Rorthais).

A noter que deux des six projets sont encadrés par des membres de Dalibo.

Il y a peu de chances que tous les projets réussissent mais si ne serait-ce que 50% y arrivent, ce serait une excellente nouvelle pour les prochaines versions de tous ces outils.

PostgreSQL 9.0 beta 1, pgAdmin 1.12 beta 1

Le 3 mai sort officiellement la beta 1 de PostgreSQL 9.0 et de pgAdmin 1.12. Ces deux versions apportent énormément de nouveautés. Il ne faut surtout pas hésiter à les tester, ces deux produits ayant besoin de vos retours.

PostgreSQL 9.0 est la première version à inclure une réplication binaire interne temps-réel. Elle est constituée de deux fonctionnalités : « Hot Standby » et « Streaming Replication ». Combiné à d'autres fonctionnalités majeures, cette version va permettre une expansion rapide de l'utilisation de PostgreSQL par de nouveaux utilisateurs et de nouveaux types d'applications.

Attention, cette version est encore au stade beta. Cela signifie que des bugs et autres problèmes peuvent survenir. Cette version beta est disponible pour que les utilisateurs puissent la tester et rapporter les problèmes qu'ils pourraient rencontrer. Cela permettra de les éliminer avant la sortie de la version finale. Elle ne doit en aucun cas être utilisée sur un serveur de production.

Quelques éléments importants sur les nouvelles fonctionnalités :

  • Une nouvelle réplication binaire
  • le support du 64-bits sur Windows
  • Un système LISTEN/NOTIFY amélioré permet l'envoi de messages rapides sur les événements de la base de données
  • Des blocs de code anonyme avec la nouvelles instruction DO
  • Des triggers conditionnels et par colonne
  • Le support de Python 3 dans PL/Python
  • De nombreuses améliorations de PL/Perl
  • Des contraintes d'exclusion pour les données non scalaires
  • Une amélioration du support des données clé/valeur
  • La suppression automatique de jointures, une optimisation pour les requêtes générées par des ORM

La liste complète des 200 changements est disponible dans les notes de version : http://developer.postgresql.org/pgdocs/postgres/release-9-0.html

Quant à pgAdmin 1.12, il offre un support quasiment complet de PostgreSQL 9.0. Seul lui manque le support des contraintes d'exclusion. D'autres fonctionnalités importantes ont été ajoutées.

Actualité des produits dérivés

  • Slony1 1.2.21 et 2.0.3 (sortie le 9 avril), un système de réplication maître/esclaves pour PostgreSQL, http://www.slony.info/
  • GNUmed 0.7.0 (sortie le 21 avril), un outil de gestion de patients pour cabinet médical basé sur PostgreSQL, http://wiki.gnumed.de/
  • Nouveaux LiveCD de PostgreSQL basés sur PostgreSQL 8.4 à partir de Fedora 12 et CentOS 5.4, http://www.pglivecd.org/

Avancées sur PostgreSQL

La version alpha 5 est sortie le 1er avril. Depuis, le travail des développeurs a surtout consisté a amélioré la documentation, à consolider les deux fonctionnalités majeures que sont le Hot Standby et le Streaming Replication. Bref, tout est prêt pour une première version beta.

Magnus Hagander a fait un gros travail sur les fuseaux horaires sous Windows. Heikki Linnakangas a aussi corrigé un certain nombre de bugs sur cette plateforme. psql a fait l'objet d'une certaine attention, notamment pour améliorer la complétion automatique. ECPG a aussi bénéficé d'un gros travail de Zoltan.

Avancées sur pgAdmin

Magnus Hagander a corrigé un bug de perte mémoire lors de l'exécution d'une requête via l'outil de requêtage. Il en a profité pour corriger un comportement qui en gênait plus d'un lors d'une demande d'export de données. La requête était exécutée avant de demander le nom du fichier où sauvegarder le résultat. La modification qu'il a réalisé permet de demander le nom du fichier, puis d'exécuter la requête. Ainsi si cette dernière met 10 minutes à s'exécuter, l'utilisateur n'a pas à attendre 10 minutes pour indiquer le fichier à remplir.

Guillaume Lelarge a principalement corrigé des bugs (une quizaine), mais a aussi continué son travail sur la prochaine version de pgAdmin. Voici les fonctionnalités qu'il a intégré :

  • une revue complète de la fenêtre d'options permettra aux utilisateurs d'utiliser plus facilement cette fenêtre, notamment grâce à l'utilisation de composant natif pour la selection de fichiers, de répertoires, de police de caractères et de couleurs ;
  • le dialogue des propriétés d'une colonne permet maintenant de modifier l'information de stockage de la colonne (main, extended, …) ;
  • il est enfin possible de recharger la configuration d'un serveur en choisissant le nouveau élément « Récharger la configuration » dans le menu contextuel du serveur ;
  • le dialogue de connexion de l'outil de requêtage permet d'indiquer l'utilisateur à prendre en compte dans la connexion ;
  • lors de l'ouverture de la fenêtre de maintenance et de celle de l'assistant des droits, une nouvelle connexion est réalisée (cela permet de continuer à utiliser la connexion du navigateur pour se balader dans les objets d'une base alors qu'on exécute au même moment un REINDEX par exemple) ;
  • tous les tableaux de la fenêtre d'état du serveur, sauf celles des logs, sont triables en cliquant sur l'en-tête de la colonne ;
  • les serveurs enregistrés sont affichés dans des sous-dossiers, ce qui permet leur tri.

Enfin, il a vérifié et appliqué un patch de Dickson S. Guedes. Ce patch permet à l'utilisateur de définir la taille maximum d'une requête conservée dans l'historique ainsi que le nombre total de requêtes conservées.

Quant à Dave Page, il a préparé la sortie de la première beta. Il a donc fait quelques corrections de bugs avec Ashesh Vashi. Il s'est assuré aussi que ce dernier ait un peu de temps pour travailler sur quelques manques au niveau du support de PostgreSQL 9.0. Il a donc ajouté le support des contraintes uniques déferrables et le support des ACL par défaut. Il a finalement appliqué le patch sur la sauvegarde au format BMP des images du EXPLAIN graphique ainsi que du constructeur graphique de requêtes.

La première béta de la version 1.12 devrait bientôt sortir.

Avancées sur phpPgAdmin

Ce mois ci, les développeurs de phpPgAdmin ont continué la stabilisation de code en préparation de la prochaine nouvelle version majeure du projet.

  • le patch de réécriture des pages de maintenance a été intégré. Il permet d'accéder aux tâches de VACUUM, ANALYZE, REINDEX et CLUSTER au niveau de la base ou d'une table. De plus, il améliore le support des paramètres d'autovacuum par table et l'étend aux versions de PostgreSQL supérieures à la 8.3
  • le support de la commande CLUSTER qui était jusqu'alors cassé dans la version de développement a été réécrit
  • quelques nouvelles corrections des dernières références à la version 8.5 dans le code
  • une mise à jour des classes gérant les liens vers la documentation PostgreSQL
  • quelques corrections de la traduction suédoise ont été apportées par Magnus Hagander.

Il est à noter qu'un peu de sang frais arrive au compte goutte et de façon temporaire en ce moment:

  • le projet GSoC (déjà abordé plus haut) apporte un étudiant qui travaillera sur l'ergonomie durant presque 3 mois
  • une équipe d'étudiant de l'université Mendel à Brno (république tchèque) travaillant (malheureusement de façon fermée pour le moment) sur différents points intéressants qu'ils ont sélectionnés

Espérons que certains rejoindront les rangs de phpPgAdmin de façon plus pérenne !

Avancées sur les projets satellites

En plus des versions 1.2.21 et 2.0.3 de Slony1, sorties le 9 avril, un regain d'activité saisit ce projet. Les développeurs ont de nouveau travaillé sur des patchs. La documentation a aussi bénéficié de quelques améliorations.

En dehors de la sortie des versions 2.2.7 et 2.3.3, il est à noter que la branche de développement de la version 2.4 a été ouverte pour pgPool-II.

De nombreuses modifications ont eu lieu dans le dépôt des sources de check_postgres.pl. Une version 2.15 est en cours de finalisation.

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 :

→ 5-7 juillet : Formation Administration PostgreSQL

→ 1-3 septembre : Formation Administration PostgreSQL

→ 13-14 septembre : Formation PostgreSQL pour les Développeur (PL/pgSQL)

→ 20-23 septembre : Formation PostgreSQL Avancé

Dernières versions

Depuis le 15 mars 2009 :

  • 8.4.3
  • 8.3.10
  • 8.2.16
  • 8.1.20
  • 8.0.24
  • 7.4.28

Versions Windows supportées :

  • 8.4.3
  • 8.3.10
  • 8.2.16

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.

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_2010

Afficher le texte source