-
PostgreSQL Weekly News - 15 mars 2004
== Nouvelles hebdomadaires de PostgreSQL - 15 mars 2004 ==
La 7.4.2 est sortie officiellement la semaine dernière. Cette mise à jour particulière nécessite une mise à jour des catalogues systèmes pour ceux qui ont une version 7.4.x antérieure, opération qui n'est normalement pas requise pour des versions mineures. De ce fait, il est fortement recommendé à tous ceux qui comptent mettre à jour leur système de lire le fichier HISTORY.
Ceci étant fait, l'attention s'est porté à la branche de développement 7.5 où nous avons vu quelques modifications et quelques nouveautés. Ray Aspeitia, aidé par David Wheeler, a soumis de nouveaux scripts de démarrage pour Mac OSX. Les routines d'entrées pour int2/int4/int8/float4/float8 ont toutes été revues pour permettre un nombre indéterminé d'espaces blancs devant ou derrière ce qui les rend en phase avec les spécifications SQL et plus consistent avec les autres types numériques. Autre modification du même genre : nous acceptons maintenant 'Infinity' et '-Infinity' en entrée pour les types float4 et float8. Nous fournissons maintenant un message d'attention (niveau WARNING) lors de la création d'une contrainte pour une clé étrangère utilisant un type de colonne suffisamment incompatible pour empêcher l'utilisation d'un index de la table référencée. David Turner a soumis un correctif pour permettre la construction de DLL de déboguage pour le développement win32. Il y a aussi eu des nettoyages dans l'initialisation du processus de statistiques, ce qui permet maintenant aux plateformes win32 de passer avec succès les tests sur les statistiques.
Le travail d'Andrew Dunstan sur l'accroissement des fonctionnalités des traces a été intégré. Il introduit certains changements à la fois sur ce qui peut être tracé et sur la façon dont c'est tracé. Pour un bon résumé, jetez un oeil sur la documentation générée à partir du CVS et disponible sur le site des développeurs. Le mot clé ALSO a été ajouté à la commande CREATE RULE, grâce à Fabien Coelho, permettant aux règles de réaliser leurs opérations habituelles ainsi qu'une opération définie par une règle. La commande LOCK a aussi été modifiée car il existe maintenant une option NOWAIT lui permettant de rendre la main immédiatement si elle n'obtient pas son verrouillage. Enfin, le programme psql est un peu plus intelligent maintenant qu'il est capable d'afficher visuellement l'emplacement des erreurs de syntaxe.
La semaine dernière, j'ai indiqué qu'il y avait du mouvement sur le "Point-In-Time Recovery" pour la 7.5 et je suis heureux d'annoncer que, cette semaine, Simon Riggs a posté un nouveau résumé/proposition sur la façon d'implémenter le PITR. Toute personne intéressée par ce développement est encouragée à le lire. Mais, même pour ceux qui ne sont pas impliqués à ce niveau, il apporte un bon résumé des mécanismes actuels de restauration après un crash. Vous pouvez le trouver sur http://archives.postgresql.org/pgsql-hackers/2004-03/msg00295.php.
-
PostgreSQL Weekly News - 9 février 2004
== Nouvelles hebdomadaires de PostgreSQL - 9 février 2004 ==
Il n'y a pas eu trop de changements sur le code cette semaine mais cela n'a pas empêché un gros travail. Il y a eu un certain nombre de mises à jour pour des fonctionnalités proposées pour la version 7.5 mais commençons par jeter un oeil sur la liste des modifications réalisées sur le code cette semaine. Quelques informations codées en dur dans information_schema ont été remplacé avec une fonction générant des séries numériques en utilisant une variable indiquant la valeur de l'incrément. Les options GUC sort_mem et vacuum_mem ont été renommé respectivement work_mem et maintenance_work_mem pour mieux refléter leur utilisation par le moteur et, coïncidant avec ce changement, la création d'un index btree et la validation initiale d'une clé étrangère ont été modifié pour utiliser maintenance_work_mem. Enfin, un peu de code concernant une nouvelle fonctionnalité, un délai du vacuum basé sur le coût, a été implémenté.
Nous avons aussi vu un peu de nettoyage sur la gestion du signal pour la partie win32 avec la suppression des définitions dupliquées de signal dans pqsignal.h, remplaçant pqkill() avec kill() et redéfinissant kill() dans Win32, en utilisant ereport() au lieu de fprintf() dans certaines gestions d'erreurs de pqsignal.c, exportant pg_queue_signal() et en faisant usage lorsque nécessaire, ajoutant un gestionnaire de contrôle de console pour Ctrl-C ainsi que d'autres gestions similaires dans le code Win32 et implémentant un WaitForSingleObjectEx() dans CHECK_FOR_INTERRUPTS() pour Win32, ce qui devrait nous donner une implémentation fonctionnelle de l'annulation de requêtes pour les plateformes Win32.
Des discussions sur " Point-In-Time-Recovery " ont redémarré, dont le résultat a été la mise en place d'infrastructures supplémentaires pour ce sous-projet. Si vous êtes intéressé pour aider ce développement, une liste de diffusion pgsql-hackers-pitr vient d'être créée et Bruce Momjian a créé une page de statut sur ce projet. Elle est disponible sur http://candle.pha.pa.us/main/writings/pgsql/project/pitr.html. Nous avons aussi assisté à quelques progrès sur le COMMIT en deux phases avec l'envoi par Heikki Linnakangas d'un correctif ajoutant un support simple de celui-ci. Tous les détails sont disponibles sur http://archives.postgresql.org/pgsql-hackers/2004-02/msg00261.php. Tout le monde est encouragé pour tester le correctif et pour apporter leur retour d'informations.
-
PostgreSQL Weekly News - 8 mars 2004
== Nouvelles hebdomadaires de PostgreSQL - 8 mars 2004 ==
Même avec les sorties de cette semaine, nous avons vu quelques contributions intéressantes sur l'arbre de la 7.5, et un gros travail de fond a été fourni sur les fonctionnalités telles que les espaces de stockage (tablespaces) et le PITR (point-in-time recovery). Malgré tout, l'attention principale s'est portée sur les sorties et voici quelques nouvelles sur les deux de cette semaine. Attardons-nous un peu sur la 7.3.6. Quelques problèmes concernant une mauvaise installation des pages de manuel sont apparus dans le paquet de cette version. Rien d'autre n'a été affecté mais si vous avez besoin de ces pages, vous devriez de nouveau télécharger le code via FTP. Le paquet corrigé sera aussi bientôt disponible sur notre page sourceforge. Entre temps, la 7.4.2 a été préparé et subi actuellement un grand nombre de vérifications. Attendez-vous rapidement à une annonce officielle.
De retour dans le monde de la branche 7.5, nous devons mentionner quelques ajouts. La fonction is_distinct_query() de l'optimiseur a été amélioré pour reconnaître qu'une instruction GROUP BY force un résultat distinct de la sous-requête lorsque toutes les colonnes du GROUP BY apparaissent en sortie. Nous avons aussi vu l'ajout des fonctions internes SPI_getargtypeid, SPI_getargcount et SPI_is_cursor_plan au niveau du moteur. Elles seront utilisées par PL/Java (mais peut-être aussi par d'autres langages procéduraux). Entrer une chaîne vide dans un champ oid ou dans un champ de type float4 et/ou float8 émettra maintenant un message d'attention (niveau warning) pour commencer la mise en place de l'obsolescence de cette fonctionnalité ; cela produira un message d'erreur (niveau error) à partir de la 7.6. La fonction intégrée date_trunc reconnait la semaine ('week') en entrée. Le programme pg_dump a profité de quelques modifications pour l'aider à avoir des sauvegardes plus consistantes à partir de bases de données logiquement identiques mais disposant d'historiques DDL différentes. Enfin, le module dblink a aussi été travaillé, ce qui a permis l'apparition de nouvelles versions de dblink, dblink_exec, dblink_open, dblink_close et dblink_fetch. Enfin, certaines documentations de fonctions obsolètes, et maintenant supprimés, ont été effacées.
En parlant des modules, John Gray a soumis une version révisée de l'intégration d'XPath dans le code. Les nouvelles fonctionnalités incluent les fonctions 'set-returning' d'XPath permettant que des résultats multiples provenant de différentes requêtes XPath soient utilisés en tant que table virtuelle ainsi que l'utilisation de libxslt pour les transformations XSLT. Dû aux nombreux changements, certains ayant introduits des incompatibilités descendantes et des potentiels risques de sécurité du nouveau code, celui-ci a été placé dans le répertoire xml2 de contrib. Merci encore à John et aux personnes de Torchbox qui ont bien aidé John.
Au niveau de la documentation front, plusieurs FAQ ont été mises à jour pour coïncider avec les nouvelles sorties. Un effot particulier a été apporté aux documentations de l'instruction RULES, de la fonction trim, du paramètre virtual_host et de nombreuses références croisées ont été ajoutées entre les différentes sections concernant des thèmes similaires.
Des nouvelles d'un autre front important ont concerné le projet de réplication SLONY-I de Jan Wieck. La configuration fonctionne maintenant sur Red Hat Linux et sur FreeBsd 4.9. De plus, le moteur gère les installations en direct (hot install), les souscriptions directes (hot subscribe with catch up) avec récupération immédiate et les esclaves en cascade (cascaded slaves). Son message complet ainsi que l'URL du projet et des informations sur ce qu'il manque est disponible sur http://archives.postgresql.org/pgsql-general/2004-03/msg00146.php.
Et enfin, je voudrais, cette semaine, mentionner un oubli de la semaine dernière. Les personnes travaillant sur le projet DBD::Pg ont sorti la version 1.32, qui devrait maintenant être disponible via CPAN. Cette version corrige un bon nombre de problèmes ; jetez un oeil à l'annonce originale pour plus d'informations (http://archives.postgresql.org/pgsql-interfaces/2004-02/msg00079.php). Beau travail, les gars !
-
PostgreSQL Weekly News - 26 janvier 2004
== Nouvelles hebdomadaires de PostgreSQL - 26 janvier 2004 ==
Une autre bonne semaine de développement terminée par une nouvelle édition, en retard, des nouvelles hebdomadaires :-) Il y a un certain nombre d'éléments à passer en revue et un changement de structure, donc commençons tout de suite.
Quelques correctifs disponibles cette semaine ont été réécrit pour la branche 7.4 et devraient donc être pris en compte pour la prochaine sortie. Une des corrections inclus concerne un manque d'optimisation au niveau de l'exécuteur évitant des projections inutiles lors du parcours des tables dont toutes les colonnes sont nécessaires. Merci à Mike Mascari pour son rapport initial. Un autre bogue dans le paramètrage de pg_dump, qui initialisait mal l'emplacement de la base de données pour les serveurs 7.0.*, a été corrigé. Un problème avec les colonnes supprimées pour les déclencheurs (triggers) pltcl, rapporté par Patrick Salmon, a aussi été corrigé.
Sur la branche principale, quelques discussions de bas niveau sur l'algorithme GEQO et une attente ferme de Tom Lane, ont mené à des changements dans les paramètrages par défaut de GEQO, dans la connaissance des heuristiques SQL pour GEQO et dans la documentation, bien amélioré sur ce sujet. Jan Wieck a aussi implémenté une première passe des fonctionnalités pour l'écriture en tâche de fond, permettant aux personnes administrant des serveurs dédiés d'améliorer les opérations d'entrées/sorties pour le serveur. Neil Conway a passé du temps sur le nettoyage des fonctions de manipulation mémoire de psql. ECPG a eu une nouvelle fonctionnalité : WHENEVER NOT_FOUND pour les syntaxes des instructions SELECT/INSERT/UPDATE/DELETE. Une modification du comportement a été intégrée pour permettre l'initialisation d'un chemin de recherche de schémas incluant des schémas inexistants. Dans le passé, ceci aurait résulté en une erreur (de niveau ERROR) mais cette fonctionnalité est nécessaire pour pg_dump dans le cas de certaines restaurations. Donc, maintenant, il émet un message de niveau NOTICE. Quelques améliorations de la documentation ont aussi vu le jour, incluant l'ajout d'un exemple illustrant la façon d'appeler une fonction prenant en arguments des types composites. Quelques exemples sur l'utilisation des fonctionnalités PREPARE et EXECUTE ont aussi été ajoutés.
Un dernier élément a été la suppression finale du code restant du pilote JDBC. Celui-ci a été enlévé du répertoire principal des sources. Il a maintenant sa propre page sur gborg (http://gborg.postgresql.org/project/pgjdbc/projdisplay.php) alors que http://jdbc.postgresql.org est bien sûr toujours d'actualité. Heureusement, ceci va permettre aux développeurs de JDBC d'être plus indépendant des sorties du programme principal.
-
PostgreSQL Weekly News - 23 février 2004
== Nouvelles hebdomadaires de PostgreSQL - 23 février 2004 ==
La grosse nouvelle de la semaine a probablement été le pré-annoncement des sorties des versions 7.3.6 et 7.4.2 qui devraient être disponibles dans les prochaines semaines. Nous allons certainement voir quelques correctifs de la branche 7.4 apparaître cette semaine dans la branche 7.3.x, donc gardez un oeil sur le journal complet des modifications qui sera inclus avec chaque annonce de sortie.
Pendant ce temps, le travail continue évidemment sur la 7.5. Continuant certains travaux de la semaine dernière, nous pouvons maintenant faire usage de statistiques sur les expressions d'index. Les traces sur les déconnexions ont été ajoutées dans les options de traces du fichier postgresql.conf. Quelques inconsistances ont été corrigées dans les messages d'erreurs reçus avec une entrée incorrecte du type d'OID. Des améliorations significatives ont été ajoutées à la documentation pour la nouvelle fonctionnalité de délai du vacuum, délai basé sur le coût estimé ; si celle-ci vous intéresse, vous pouvez regarder la documentation développeurs. Après une bonne discussion sur la liste de diffusion -hackers, l'analyseur de psql a été réécrit pour utiliser un analyseur généré par flex, utilisé pour les commandes texte SQL et les commandes 'backslash'. Ceci devrait rendre plus simple l'analyse du comportement du moteur lexical SQL car des règles flex pratiquement identiques sont utilisées dans psql. Sur le front win32, un correctif implémentant settimer() a été ajouté, ce qui signifie que la détection des verrouillages (deadlock) et l'instruction statement_timeout sont maintenant fonctionnels pour win32.
Plusieurs améliorations ont été incorporées au module dbmirror incluant la réplication des opérations sur les séquences via setval/nextval, le support de syslog pour les traces, le support des instructions SQL écrites dans des fichiers au lieu d'une base de données esclave en direct et l'ajout de plusieurs nouvelles options dans les fichiers de configuration.
Enfin, l'équipe gérant le site web souhaite faire savoir que nous avons maintenant un accès RSS aux nouvelles des projets hébergés sur GBorg, accès disponible sur http://gborg.postgresql.org/news.rss. Vous pouvez visualiser ceci à partir de votre outil RSS favori (evolution a notamment cette capacité) et nous souhaitons que ce RSS soit utilisé par d'autres sites web Open Source (si vous souhaitez nous aider à ce sujet, envoyez une note sur la liste de diffusion -advocacy). Un gros merci à David Costa de www.dotgeek.org pour avoir donné de son temps et du code pour faire fonctionner ceci. Avec un peu de chance, nous aurons bientôt un accès RSS officiel pour les nouvelles et événements sur le site PostgreSQL principal.

