Lettre d'information de Dalibo

L'actualité de PostgreSQL et de ses projets satellites. Octobre 2009.

Événements

Nouvelles versions mineures

De nouvelles versions mineures sont apparues aujourd'hui pour toutes les versions actuellement maintenues : 8.4.1, 8.3.8, 8.2.14, 8.1.18, 8.0.22 et 7.4.26. Ces versions corrigent plus de 25 bogues mineurs découverts pendant ces deux derniers mois. Nous conseillons aux administrateurs de bases de données en production de mettre à jour leur serveur dès que possible, principalement pour ceux qui utilisent la version Windows, le Log Shipping et les procédures stockées SECURITY DEFINER.

Les problèmes corrigés incluent la correction d'une faille de sécurité avec les instructions RESET ROLE et RESET SESSION AUTHORIZATION lorsqu'elles sont utilisées dans des procédures stockées SECURITY DEFINER, la correction d'un bug très fréquemment constaté sous Windows (message d'erreur « could not reattach to shared memory »), deux corrections concernant le re-jeu des journaux de transactions (concernant donc les personnes utilisant le Log Shipping), plusieurs erreurs du planificateur et de nombreux cas particuliers. N'hésitez pas à lire les notes de sortie (en anglais) pour plus de détails.

Afin de mettre à jour votre serveur dans sa version mineure correspondante (par exemple, pour passer de 8.3.7 à 8.3.8), il suffit d'arrêter le serveur PostgreSQL, de mettre à jour les binaires et de redémarrer le serveur. Aucun export/import de données n'est donc nécessaire. Les utilisateurs effectuant plus d'une mise à jour devraient vérifier les notes de version pour des informations supplémentaires. Enfin, comme indiqué précédemment, seules les versions 8.2.14, 8.3.8 et 8.4.1 des binaires Windows sont disponibles, les versions plus anciennes n'étant plus supportées.

Notes de la version 8.4.1 : http://docs.postgresql.fr/8.4/release.html

PGDay 2009

Après un gros travail d'organisation, voici que sont annoncés le programme et l'ouverture des inscriptions :

Pas moins de 25 conférences sur PostgreSQL en deux jours : 10 en français, 15 en anglais ! Il y aura aussi des “conférences éclairs”, sorte de micro-conférences de 5 minutes pour présenter un projet ou une idée. La keynote de lancement réalisée par Simon Riggs sera également un des moments importants de cet événement.

Pour les conférences, le choix sera large. Tous les domaines seront abordés : PostGIS, réplication, outil d'administration, technique, migration, codage, cas d'utilisation. De quoi satisfaire tout le monde.

De nombreux développeurs de PostgreSQL seront présent, notamment Magnus Hagander (portage vers Windows, authentification LDAP, et bien d'autres encore), Dave Page (pgAdmin), en passant par Heikki Linnakangas (2PC, revue du HotStandby), Simon Riggs (PITR, Warm Standby, Hot Standby), Joshua Drake (pitrtools), etc. Les pauses cafés, les repas du midi comme les soirées seront autant de possibilités pour discuter avec eux (et de les remercier…).

N'oubliez surtout pas de vous enregistrer rapidement. L'inscription donne droit à une réduction conséquente et permet aux organisateurs de mieux évaluer le nombre de personnes présentes.

Les personnes n'habitant pas Paris peuvent avoir encore la chance de profiter d'une très intéressante réduction à l'hôtel Kyriad à Porte d'Ivry. Là encore, dépêchez-vous car il n'est pas sûr qu'ils conservent ces excellents prix encore longtemps.

http://2009.pgday.eu/fr:hotels

Voilà. Je crois que le mot d'ordre est simple : venez nombreux, nous serons ravis de vous accueillir.

Actualité des produits dérivés

Avancées sur PostgreSQL

En dehors de la sortie des nouvelles versions mineures, c'est aussi le deuxième commitfest de la version 8.5. Et quelques nouveautés très intéressantes font leur apparition.

L'une des plus intéressantes est un changement du comportement de PostgreSQL lors de la recharge de la configuration du fichier postgresql.conf. Une fois le rechargement demandé, PostgreSQL trace les paramètres modifiés dans les journaux applicatifs.

Ensuite, une syntaxe extensible a été ajoutée pour les options de COPY. Cela rejoint les modifications réalisées sur la syntaxe d'EXPLAIN. L'ancienne syntaxe est toujours supportée pour des raisons de compatibilité ascendante, mais toute nouvelle option ne sera fournie que via la nouvelle syntaxe. Et en effet, de nombreuses nouvelles options pourraient voir le jour (comme par exemple accepter des fichiers CSV moins stricts sur leur nombre de colonnes).

Une nouvelle instruction apparaît. L'instruction DO doit permettre d'exécuter du code de procédure stockée sans avoir à créer la fonction qui va avec. Cela donnerait par exemple ceci:

DO $$DECLARE r record;
BEGIN
  FOR r IN SELECT table_schema, table_name FROM information_schema.tables
           WHERE table_type = 'VIEW' AND table_schema = 'public'
  LOOP
    EXECUTE 'GRANT ALL ON ' || quote_ident(r.table_schema) || '.' || quote_ident(r.table_name) || ' TO webuser';
  END LOOP;
END$$;

Des corrections ont aussi eu lieu, sur le VACUUM, sur l'encodage des fonctions XML, sur la gestion des messages internes par pgstat, sur le support de dtrace par les autres systèmes d'exploitation que Solaris, sur l'utilisation récursive de WITH RECURSIVE, etc, etc.

Avancées sur pgAdmin

Dave Page a principalement corrigé de nombreux bugs:

  • La requête SQL permettant de remettre en place le droit sur les langages n'était pas correcte car elle essayait de donner le droit X (exécution) au lieu du droit U (usage). En effet, on n'exécute pas un langage. Par contre, on doit pouvoir donner le droit d'utilisation de ce langage.
  • La création et la modification des domaines se trouvant dans des schémas utilisateurs posaient problème (pas de prise en compte du schéma).
  • Le compilateur Sun définit la fonction _T, ce qui entrait en conflit avec la macro _T de wxWidgets. La correction a permis d'utiliser les deux.
  • Dans la fonction supprimant une connexion, il manquait un appel à PQclear(). Quan Zongliang a fourni un patch que Dave Page a enregistré après validation.
  • Un bug potentiel a été corrigé dans la grille de visualisation/édition d'une table.

Il en a aussi profité pour ajouter le support de l'architecture x86_64 pour les machines Apple.

Quant à Guillaume Lelarge, il n'a pas participé à l'effort de déboggage. Il s'est concentré sur de nouvelles fonctionnalités. Dans les nouveautés, on peut voir:

  • David Schnur a rapporté le fait que la fenêtre de pgAdmin ne se rappelait jamais être maximisée. Et en effet, pgAdmin ouvrait sa fenêtre à la bonne taille, mais le fait que la fenêtre était maximisée n'était pas restaurée. Le patch écrit par Guillaume a corrigé cela. Même si cela semble être la correction d'un bug, le patch a été considéré comme un ajout de fonctionnalité, notamment à cause des modifications du fichier de préférence.
  • Suite à un rapport de Cédric Duprez, une option a été ajoutée pour permettre l'annulation automatique d'une transaction échouée dans l'éditeur de requête. auparavant, il fallait nécessairement exécuter un ROLLBACK soi-même.
  • Il est maintenant possible d'ouvrir directement l'éditeur de requête avec la requête en cours d'exécution sur le processus sélectionné dans la fenêtre d'état des serveurs grâce à un nouveau bouton dans la barre d'outils.
  • Toujours dans cette fenêtre, les processus sont colorés suivant leur statut: exécution en cours d'une requête, exécution longue d'une requête, processus en attente d'un verrou, etc. Les couleurs sont personnalisables.
  • Encore et toujours dans cette fenêtre, le rapport sur les verrous a besoin d'utiliser une connexion sur la base de données où les verrous sont posés pour faire un lien avec les identifiants des tables. Guillaume a donc ajouté une liste déroulante dans la barre d'outils pour changer la base de données de connexion. Attention, ce changement de bases de données n'impacte que le rapport sur les verrous.

Il n'est pas encore prévu de version 1.10.1. Un grand nombre de bugs a été rapporté sur Solaris. Dave Page doit travailler là-dessus, avant qu'une nouvelle version corrective puisse être proposée.

Avancées sur phpPgAdmin

Guillaume (ioguix) de Rorthais a effectué deux correctifs sur phpPgAdmin. Le premier a permis de supprimer un message d'avertissement lors de la création d'une base de données sur un serveur de version 8.3 ou antérieure. Le second n'échappe qu'une seule fois le commentaire d'une base à sa création.

Avancées sur les projets satellites

En dehors de deux corrections sur Slony, rien de plus sur ce front. Et surtout, toujours pas de version 1.2.17 / 2.0.3.

Le project pgPool est plus actif avec pas mal de correctifs pour ce mois-ci. Une prochaine version devrait bientôt sortir.

L'activité sur check_postgres s'est un peu tarie. Elle semble avoir été reportée sur bucardo, autre outil de End Point Corporation. La version 4 est sortie il y a peu, mais les développeurs débogguent très rapidement leur outil. Ils en sont actuellement à la version 4.1.2 qui mériterait d'être testée de façon approfondie. De plus, la documentation semble avoir bénéficié d'un travail assez conséquent. Tout cela n'augure que du bon pour cet outil de réplication.

pgFouine se dote d'une option réellement intéressante. -quiet permettra de ne pas afficher les lignes que pgFouine ne comprends pas.

Sessions de formation

Dalibo organise une session de formation « PostgreSQL Avancé » à Paris du 17 au 20 novembre et une autre du 7 au 10 décembre.

Plus d'informations sur : http://dalibo.com/-Formations-.html

Dernières versions

Depuis le 9 septembre 2009 :

  • 8.4.1
  • 8.3.8
  • 8.2.14
  • 8.1.18
  • 8.0.22
  • 7.4.26

Versions Windows supportées :

  • 8.4.1
  • 8.3.8
  • 8.2.14

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 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/doku.php/octobre_2009

Afficher le texte source