Par SAS le 24/01/2007 - 11:16
Nouvelles hebdomadaires de PostgreSQL - 21 janvier 2007
Une légÚre incompréhension sur la façon dont EnterpriseDB collecte et utilise les adresses mail depuis les listes de diffusion PostgreSQL a conduit EnterpriseDB a modifié sa politique à ce sujet.
Les nouveautés des produits dérivés
Les jobs de janvier
http://archives.postgresql.org/pgsql-jobs/2007-01/threads.php
PostgreSQL Local
Merci Ă Gavin Sherry pour la Miniconf PostgreSQL Ă Linuxconf.au.
http://www.gavinsherry.org/blog/index.php?/archives/1-PostgreSQL-miniconf-success.html
PostgreSQLFr tient un stand lors de SolutionsLinux 2007, à Paris (France) du 30 janvier au 1er février. Jean-Paul Argudo, trésorier de l'association, conduira une session dédiée aux bases de données FLOSS (Free/Libre/OpenSource Software). Plus d'informations ici :
http://www.solutionslinux.fr/index.php
L'Autriche propose un nouveau site communautaire.
http://community.postgresql.at/
Il y aura un stand PostgreSQL au FOSDEM les 24 et 25 fĂ©vrier Ă Bruxelles. La plupart des tĂȘtes pensantes des communautĂ©s PostgreSQL europĂ©ennes y seront. Contacter de@postgresql.org pour en ĂȘtre.
http://www.fosdem.org/2007/
Le communauté PostgreSQL italienne organise une journée PostgreSQL cet été. Pour participer, suivre le lien http://www.pgday.it
PostgreSQL dans les média
PostgreSQL Weekly News vous est présenté cette semaine par David Fetter et Devrim GUNDUZ.
Adaptation francophone de Stéphane Schildknecht.
Vos propositions d'informations doivent parvenir avant dimanche minuit Ă david@fetter.org.
Correctifs appliqués
Peter Eisentraut a commité :
-
la suppression de plusieurs variables inutilisées dans les tests de régression ;
-
la remise en place du lien libpq dans pgsql/src/interfaces/ecpg/test/Makefile.regress, en prenant soin de s'assurer que le répertoire d'arbre libpq est mentionné avant les répertoires systÚme ;
-
la mise Ă jour de l'estimation du temps de construction ;
-
la suppression des anciennes cibles de dépendance ;
-
la bibliothÚque libpq était mentionné au mauvais endroit, ce qui pouvait conduire à l'utilisation d'une ancienne libpq déjà installée. Il n'est pas nécessaire de lier la libpq à cet endroit, autant l'enlever ;
-
la construction du code des tests ecpg lors de l'exécution des tests, comme pour les autres codes de test ;
-
la correction des tests de régression xmlconcat ;
-
la correction de xmlconcat en fusionnant correctement les déclarations XML. L'ajout de la fonction d'agrégation xmlagg ;
-
l'ajout du support de conversion des valeurs binaires (i.e. bytea) en valeurs xml, avec le nouveau paramÚtre GUC "xmlbinary" qui contrÎle l'encodage de la sortie, comme le préconise le standard SQL/XML ;
-
l'utilisation optionnelle de xml2-config pour détecter l'emplacement de la libxml ;
-
la correction des problÚmes d'encodage du type xml : en mode texte, les déclarations d'encodage sont ignorées et supprimées, en mode binaire elles sont honorées comme précisé dans le standard XML.
Bruce Momjian a commité :
-
la mise Ă jour des instructions de la documentation sur la suppression de template1 ;
-
l'ajout d'une URL pour les index bitmap Ă la TODO ;
-
l'ajout d'une URL pour la carte de l'espace mortĂ la TODO ;
-
l'ajout de la documentation des unités de mémoire et de temps à postgresql.conf. Rétro-correctif 8.2.X pour initdbs ;
-
la mise à jour de la documentation de postgresqlconf pour mentionner les unités par défaut qui correspondent à celles du fichier postgresql.conf. L'ajout également des unités aux descriptions qui n'en ont pas. Amélioration du texte. Mention de pg_settings.unit comme une façon de trouver les unités par défaut des paramÚtres. Rétro-correctif 8.2.X ;
-
la modification de max_fsm_pages dans postgresql.conf.sample pour montrer une valeur typique plutÎt qu'une valeur trop élevée ;
-
la documentation du fait que pour supprimer template1, datistemplate doit ĂȘtre 'false'. RĂ©tro-correctif 8.2 ;
-
le déplacement du code pour placer le niveau d'erreur LOG entre ERROR et PANIC dans la nouvelle fonction is_log_level_output(), pour la clarté du code ;
-
l'ajout de l'URL du wiki des développeurs à la TODO ;
-
l'ajout Ă la TODO de : "Allow multiple vacuums so large tables do not starve small tables" et "Improve control of auto-vacuum" ;
-
l'ajout Ă la TODO des URL pour les GUIDs/UUIDs (Globally/Universally Unique Identifiers) ;
-
le marquage de l'item TODO "autovacuum on by default" comme effectué.
Tom Lane a commité :
-
l'ajustement de pgbench pour qu'il ne s'arrĂȘte pas sur les requĂȘtes non-select qui retournent des tuples, ce qui est tout Ă fait possible avec les scripts personnalisĂ©s (voir RETURNING, EXPLAIN, etc) ;
-
l'ajout des options COST et ROWS Ă CREATE/ALTER FUNCTION, et les colonnes de pg_proc, procost and prorows, pour permettre Ă un simple utilisateur d'ajuster me coĂ»t estimĂ© de l'appel d'une fonction, ainsi que de contrĂŽler le nombre estimĂ© de lignes retournĂ©es par une fonction retournant un ensemble. Nous Ă©tenderons peut-ĂȘtre cela pour permettre les routines d'estimation spĂ©cifiques Ă une fonction, mais il semble se dĂ©gager un consensus sur l'utilisation en premier lieu d'une simple constante. Cela permet en particulier d'obtenir une façon simple de contrĂŽler l'ordre dans lequel diffĂ©rentes clauses WHERE sont appliquĂ©es dans un nĆud du plan. C'est une bonne chose dans la mesure oĂč la rĂ©Ă©criture rĂ©cente de EquivalenceClass du planificateur l'a rendu moins prĂ©dictible qu'avant ;
-
le réécriture de quelques routines lsyscache pour éliminer de la duplication de code et éviter quelques parcours de syscache dans make_pathkey_from_sortinfo() ;
-
la simplification de la représentation par pg_am des méthodes d'accÚs ayant des capacités de tri : fournir un simple booléen 'amcanorder', à la place des champs qui précisent les numéros de stratégie des opérateurs de tri. Nous avons décidé d'imposer aux AM ayant des capacités de tri d'utiliser les numéros de stratégie compatible b-tree, ainsi les anciens champs sont devenus inutiles (et en fait source d'erreur concernant ce qui est autorisé) ;
-
ne pas utiliser 'int' lĂ oĂč 'bool' est souhaitĂ©, dans pgsql/src/backend/utils/error/elog.c ;
-
la correction de balises cassées dans pgsql/doc/src/sgml/installation.sgml ;
-
la refonte la structure des données des chemins du planificateur pour créer une représentation séparée, explicite des classes d'équivalence des variables ;
-
l'ajout d'une note pointant que is_pseudo_constant_clause() ne vérifie pas les aggrégats. Aucun problÚme lors d'une utilisation courante, mais quelqu'un pourrait finir par se brûler ;
-
l'extension du correctif d'hier pour que le bgwriter soit aussi averti d'oublier les fsyncs en attente lors d'un DROP DATABASE ;
-
la rĂ©vision du mĂ©canisme de requĂȘtes de fsync par bgwriter pour amĂ©liorer sa rĂ©sistance lorsqu'une table est supprimĂ©e. Un processus serveur sur le point de dĂ©lier un fichier envoie dĂ©sormais une requĂȘte "revoke fsync" au bgwriter pour qu'il supprime les fsyncs en attente. Il existe toujours une possibilitĂ© que le bgwriter tente un fsync aprĂšs la dĂ©liaison, mais cela peut-ĂȘtre rĂ©solu par la revĂ©rification de la queue de requĂȘtes fsync pour voir si une requĂȘte d'annulation est arrivĂ©e entre temps. Cela Ă©limine le souci prĂ©cĂ©dent de la simple "hypothĂšse" qu'une erreur ENOENT est ok, et nous laisse gĂ©rer le fait que sous Windows, cela peut aussi ĂȘtre EACCES sans intriduire d'hypothĂšse suspecte. D'aprĂšs une de mes idĂ©es amĂ©liorĂ©e par Magnus. Le correctif dans HEAD ne s'applique pas correctement Ă 8.2, mais je verrais pour un rĂ©trocorrectif plus tard. Dans le mĂȘme temps, quelques tests sous Windows m'ont permis de le forcer par le chemin du code via ENOENT, mais cela ne prouve pas que le problĂšme soit rĂ©solu sous Windows ;
-
la correction des vérifications incorrectes des permissions dans la vue information_schema.key_column_usage : elle vérifiait un pg_constraint OID à la place d'un pg_class OID, ce qui aboutissait à un "relation with OID nnnnn does not exist" pour quiconque n'était pas propriétaire de la table examinée. Per bug #2848 de Laurence Rowe. Note : pour les installations 8.2 existantes, une simple mise à jour de version ne le corrigera pas ; la façon la plus simple de le corriger est CREATE OR REPLACE sur la vue avec la définition correcte ;
Alvaro Herrera a commité :
-
la correction du plantage de pg_regress pour les tests PL et contrib, en ne requérant pas la présence obligatoire des répertoires "input" et "output" ;
-
le correctif de Magnus Hagander qui modifie les rÚgles sed dans les tests de régression de pg_regress pour créer les fichiers engendrés, pour permettre à Visual C++ de passer ces tests. Ces tests réussissent toujours pour les constructions VPATH et normales ;
-
l'activation d'autovacuum dans la configuration par défaut ;
-
la possibilitĂ© de tuer autovacuum lorsqu'une autre opĂ©ration veut ĂȘtre la seule Ă y accĂ©der, telle DROP DATABASE. Cela permet aux tests de rĂ©gression de rĂ©ussir avec autovacuum activĂ©, ce qui ouvre la voie Ă l'activation d'autovacuum par dĂ©faut.
Neil Conway a commité :
-
la mise à jour des documentations pour les modifications récentes de la valeur de retour de setseed() ;
-
setseed() retourn void, plutÎt qu'un int4 inutilisé. D'aprÚs une discussion sur pgsql-patches du 20 Septembre 2006 ;
-
les déclencheurs désactivés sont listés séparément dans la sortie de "\d < table >" du psql. Auparavant, ils n'étaient pas affichés différement des actifs, ce qui portait à confusion. Correctif de Brendan Jurd ;
-
la refonte de l'API de l'index AM : déplacement de currentItemData et currentMarkData de IndexScanDesc vers la structure opaque des index AM qui nécessitent cette information (gist et hash à ce jour). Correctif de Heikki Linnakangas, arrangé par Neil Conway ;
-
les tests de régression pour les objets volumineux. Correctif de Jeremy Drake ;
-
\lo de psql doit respecter le mode non verbeux et produire les sorties HTML en HTML. Correctif de Jeremy Drake ;
-
l'ajout de notions de cpyright manquante, ruleutils.c utilise la mise en forme standard pour les commentaires d'entĂȘte ;
-
la modification des tests de régression de width_bucket() pour éviter une dépendance non nécessaire à l'implantation du point flottant sur la plateforme. D'aprÚs un rapport de Stefan Kaltenbrunner ;
-
les mises à jour de vcbuild de Magnus Hagander : aprÚs le correctif de Markos pgcrypto est construit sans zlib, la mise à jour des README avec l'info xml, xml nécessite xslt et iconv, la désactivation des avertissements inutiles concernant __cdecl(), l'ajout d'un buildenv.bat appelé depuis tous les autres fichiers bat pour mettre en place des choses telles que PATH pour flex/bison. (Ne peut pas le mettre en place juste avant l'appel, cela ne fonctionne pas toujours pour les constructions depuis le GUI) ;
-
l'implantation de width_bucket() pour le type de données float8 ;
-
de menues améliorations de la TODO liste. L'ajout de quelques URLs pour des items TODO existant, et le réajout d'un item TODO pour les capacités d'"estimated count" ;
-
la correction d'un petite incohérence dans la page de référence de pg_dumpall : -g exporte les roles et tablespaces, plus les users et groups. Per Dave Page. Rétrocorrectif de 8.2 et 8.1.
Teodor Sigaev a commité :
-
la correction du support de la régionalisation des encodage multioctets et C. Correctif de Tatsuo Ishii légÚrement retravaillé.
Correctifs rejetés (à ce jour)
Pas de déception cette semaine :-)
Correctifs en attente
-
Greg Sabino Mullane a envoyé un correctif qui permet à pg_dump d'afficher joliment les DDL des objets systÚmes ;
-
Gurjeet Singh a envoyé de nouvelles versions de ses correctifs de pg_post_planner_plugin et pg_index_adviser, cette fois-ci pour le CVS HEAD ;
-
Dave Page a envoyé un correctif qui ajoute -f (--file=FILENAME) et -l (--default-database=) à pg_dumpall ;
-
ITAGAKI Takahiro a envoyé un correctif qui ajoute le support d'O_DIRECT pour Windows ;
-
Arul Shaji a envoyé un correctif qui implante pg_get_domaindef(oid) ;
-
Gevik Babakhani a renvoyé son correctif d'implantation du type de donnéesUUID.