PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Nouvelles neuves de PG (Mis à jour)

PostgreSQL Weekly News | Nouvelles neuves de PG (Mis à jour)

Par SAS le 28/03/2007 - 19:18

Nouvelles hebdomadaires de PostgreSQL - 25 mars 2007

La date limite de soumission de projets pour le «te; Summer of Code » a été repoussée au lundi 26 mars. Elles pouvaient être déposées là :
http://www.postgresql.org/developer/summerofcode

Pavel Stehule a publié son matériel pédagogique en tchèque :
http://www.pgsql.cz/index.php/Jednodenn%C3%AD_%C5%A1kolen%C3%AD_PostgreSQL

Les nouveautés des produits dérivés

Les jobs PostgreSQL de mars

http://archives.postgresql.org/pgsql-jobs/2007-03/threads.php

PostgreSQL Local

Que du global, cette semaine.

PostgreSQL dans les média

  • Planet PostgreSQL :
    http://www.planetpostgresql.org/
  • General Bits, Archives et nouveaux articles :
    http://www.varlena.com/GeneralBits/

  • PostgreSQL Weekly News vous est présenté cette semaine par David Fetter.
    Adaptation francophone de Stéphane Schildknecht, Guillaume de Rorthais et Cédric Villemain.

    Vos propositions d'informations doivent parvenir avant dimanche minuit (GMT+2) à david@fetter.org. Les propositions en allemand peuvent être envoyées à pwn@pgug.de.

Correctifs appliqués

Tatsuo Ishii a commité :

  • l'ajout des nouveaux encodages EUC_JIS_2004 et SHIFT_JIS_2004, ainsi que les conversions entre ces types et UTF-8. La version du catalogue est mise à jour ;
  • l'autorisation de l'UTF-8 sur 4 octets (UCS-4 range 00010000-001FFFFF). Cela était impératif pour supporter la conversion JIS X 0213 <--> UTF-8.

Alvaro Herrera a commité :

  • la correcte installation du nÅ“ud, d'après Tom ;
  • la séparation du code afin qu'un nouveau processus démarre dans sa propre fonction. Le code est exactement le même, aux espaces près ;
  • la séparation de la récupération des tuples par pg_autovacuum dans une fonction propre ;
  • il n'est plus nécessaire de faire un palloc du nÅ“ud VacuumStmt ; le conserver dans la pile est plus simple ;
  • la suppression du cas FRONTEND inutilisé dans dllist.c. Cela permet d'utiliser palloc en lieu et place de malloc, ce qui signifie qu'une liste peut être désallouée en supprimant simplement le contexte mémoire qui la contient.

Teodor Sigaev a commité :

  • dans contrib/tsearch2/wordparser/parser.c, correctif d'un bug du parseur sur Windows avec l'encodage UTF8 et la locale C, la raison était : sizeof(wchar_t) = 2 au lieu de 4.

Jan Wieck a commité :

  • l'ajout de trois nouvelles fonctions d'expressions régulières : regexp_matches, regexp_split_to_array, et regexp_split_to_table. Ces fonctions donnent accès aux groupes capturés par une correspondance avec une expression rationnelle POSIX, et permettent de découper une chaine de caractères selon une expression rationnelle POSIX, respectivement. Correctif de Jeremy Drak ; relecture du code de Neil Conway, commentaires additionnels et suggestions de Tom et Peter E. Ce correctif grossi le catversion, ajoute quelques tests de régression, et met à jour la doc ;
  • agrandissement de catversion dû aux changements sur pg_trigger et pg_rewrite ;
  • changement sur pg_trigger et extension de pg_write dans le but d'autoriser des définitions avec différents comportements des triggers et des rules, controlable par session, pour les besoins de la réplication.

Tom Lane a commité :

  • il semble que certains aient oublié de lancer autoheader ;
  • l'ajout -lcrypto comme un des liens possibles de dépendance de libkrb5. Reporté par Jim Rosenberg. Cela devrait éventuellement être corrigé dans les versions précédentes, mais je ne suis pas sûr car il n'y pas eu de rapport à ce sujet ;
  • la correction du rappel d'invalidation du plancache pour faire ce qu'il faut lors d'un évenement de mise à zero SI, c'est-à-dire invalide tout. Cet erreur d'inattention explique probablement les rares erreurs que quelques fermes de compilation ont reporté pour les tests de régressions du plancache ;
  • fait passer la requête source à ProcessUtility, si possible, par _SPI_execute_plan. J'avais laissé ça non-fait à la première passe de changement API pour ProcessUtility, mais j'ai oublié de regarder ça après que les changements sur plancache qui le rendent possible ;
  • retire l'interdiction d'éxécuter des commandes curseurs via SPI_execute. Vadim a inclus cette restriction dans l'architecure originelle du code SPI, mais que je sois damné si je vois une raison à ca. J'ai la définition de la macro de SPI_ERROR_CURSOR en place, pour ne pas casser un quelconque appel SPI qui pourrait la vérifier, mais ce code ne sera plus retourné désormais ;
  • nettoyage de la représentation des instantanés spéciaux en incluant une "méthode de pointeur" dans chaque struct Snapshot. Cela permet de retirer les tests cas par cas dans HeapTupleSatisfiesVisibility, ce qui devrait le rendre un peu plus rapide (bien que je n'ai pas fait de tests de performance). Plus important, nous ne violons plus les pratiques C portables en supposant que les petits entiers sont différents de tous les valeurs de pointeurs, et HeapTupleSatisfiesDirty n'a plus une API ré-entrante impliquant des effets de bords sur une variable globale. Il y a quelques places appelant les routines HeapTupleSatisfiesXXX directement plutot qu'à travers la macro HeapTupleSatisfiesVisibility. Puisque ces places doivent être changés dans tous les cas, j'ai choisi de les faire aller à travers la macro pour l'uniformité. Au long de la route j'ai renommé HeapTupleSatisfiesSnapshot en HeapTupleSatisfiesMVCC pour souligner qu'il est uniquement utilisé avec des instantanés MVCC. Je suis fortement tenté de renommer HeapTupleSatisfiesVisibility en HeapTupleSatisfiesSnapshot, mais m'en suis abstenu pour le moment pour éviter les confusions et réduire la probabilité que ce correctif casse quelque patch en attente. Pourrais vouloir reconsidérer cela plus tard ;
  • corrige un marqueur cassé ;
  • ajuste la macro DatumGetBool pour qu'elle ne soit pas dupée par les déchets sur la gauche de la valeur booléène actuelle dans le Datum. Dans la plupart des cas il n'y en aura pas, notre support pour les vieux styles de fonctions utilisateur viole les spécs dans une certaine mesure en appelant des fonctions qui pourraient retourner des char ou des 'short' via un pointeur de fonction déclaré retournant "char *", ce que nous forçons en Datum. Il n'est pas surprenant que les résultats puisse contenir des bits élevés ... ce qui est surprenant c'est que nous n'ayons vu pareil cas depuis longtemps. Reporté par Magnus ;
  • corrige le plancache pour que chaque réévaluation soit fait avec le même search_path que lorsque le premier plan a été fait. Pour faire cela, amélioration de namespace.c pour supporter la surcharge par une pile de search_path définis (nous devons avoir une pile car les sous-plans sont entièrement possibles). Cette prédisposition remplace le hack "espace de nom spécial" anciennement utilisé par CREATE SCHEMA, et devrait être capable de supporter des définitions de search_path par fonctions également ;
  • arrangé PreventTransactionChain pour rejeter les commandes soumises comme partie d'un message de simple-Query à plusieurs états. Ce bug vient de loin, mais malheureusement n'est pas aussi simple à corriger dans les release existentes ; c'est seulement le changement récent de l'API ProcessUtility qui ont permis de corriger ca dans le HEAD. Repporté par William Garrison ;
  • autorise DROP TABLESPACE à réussir (avec un warning) si le lien symbolique pg_tblspc n'existe pas. Cela autorise DROP à être utilisé pour nettoyer l'entrée dans le catalogue pg_tablespace dans le cas ou une précédante tentative de DROP a planté avant de commiter mais aprés avoir effacer les répertoires et liens symboliques. Repporté par William Garrison. Bien que son test dépende d'un bug indépendant dans PreventTransactionChain, il est certainement possible que cette situation se produise à cause d'autes problèmes, comme un crash système juste au bon moment ;
  • corrige quelques problèmes avec l'estimation séléctive des index partiels. Premièrement, genericcostestimate() était trop permissif sur l'inclusion de conditions sur des index-partiels dans son estimation sélective, résultant en de substantielles sous-estimations comme un indexqual "x = 42" utilisé avec un index sur x "WHERE x >= 40 AND x < 50". Bien que le code soit intentionnellement orienté pour favoriser la sélection d'index partiel quand c'est possible, c'était trop... Deuxièmement, choose_bitmap_and() était également facilement dupée par des cas de ce type, sachant qu'elle pensait également que l'index partiel avait une sélectivité indépendante de de l'indexqual. Corrigé en utilisant predicate_implied_by() plutôt qu'un simple test d'égalité pour déterminer la redondance. C'est un bon compromis plus coûteux mais je ne vois pas trop d'alternative. Au moins, le surcout n'est payé que s'il y a actuellement un index partiel à l'étude. Repporté par Jeff Davis. Je ne vais pas risquer un correctif sur les versions précédentes, ceci dit ;
  • la suite de l'experience avec les fermes de compilation montre qu'actuellement on ne peut pas du tout jouer un test plancache en parallèle avec les tests sur les rules, parceque le premier veut créer un couple de vues temporaires, qui peuvent de temps en temps apparaître dans la dernière sortie. Essayons-le dans le prochain groupe parallèle plutot ;
  • corrige la fracture 8.2 des domaines sur les types array, et ajout un test de régression qui couvre ca. Repporté par Anton Pikhteryev.

Bruce Momjian a commité :

  • ajout au TODO: "Allow BEFORE INSERT triggers on views." ;
  • ajout au TODO: "Add more logical syntax CLUSTER table ORDER BY index; support current syntax for backward compatibility." ;
  • documente le fait que les URLs LDAP doivent être entre guillemets doubles dans pg_hba.conf parceque des virgules peuvent être dans l'URL. Corrigé aussi dans 8.2.X ;
  • nettoyage de procarray.c ;
  • ajout au TODO: "Fix cases where invalid byte encodings are accepted by the database, but throw an error on SELECT." ;
  • dans pgsql/src/bin/pg_dump/pg_dump.c, ajout d'un commentaire indiquant que le suffixe du format de pg_dump est utilisé uniquement par pg_dump, par Dave Page ;
  • ajout au TODO dans la section CLUSTER : "Add VERBOSE option to report tables as they are processed, like VACUUM VERBOSE." ;
  • la version de Nikolay Samokhvalov de xmlpath() ;
  • dans pg_dump, change strcasecmp pour pg_strcasecmp ;
  • le correctif de Nikolay Samokhvalov qui ajoute xmlpath() pour évaluer les expressions XPath, avec le support des "tablespaces" ;
  • autorise le process pgstat à redémarrer immédiatement aprés avoir reçu un signal SIGQUIT signal, au lieu d'attendre apres PGSTAT_RESTART_INTERVAL ;
  • fait respecter la forme des options pg_dump -F : seuls une lettre unique ou un mot complet sont supportés, rapporté par Mark Stosberg ;
  • retrait des tabulations dans les fichiers SGML ;
  • ajout au TODO : "During index creation, pre-sort the tuples to improve build speed." ;
  • retrait d'un point du TODO, non désiré : "Add NUMERIC division operator that doesn't round?" ;
  • ajout d'URL au TODO : "Add locale-aware MONEY type, and support multiple currencies." ;
  • ajout d'URL au TODO : "Allow accurate statistics to be collected on indexes with more than one column or expression indexes, perhaps using per-index statistics." ;
  • dans la FAQ, la référence de "upgrade info" via URL ;
  • dans la FAQ_DEV, retrait de la dernière ligne du patch de la licence, par Andreas Zeugswetter ;
  • ajout d'URL au TODO : "Simplify ability to create partitioned tables." ;
  • ajout d'URL au TODO : Allow sequential scans to take advantage of other concurrent sequential scans, also called "Synchronised Scanning".

Magnus Hagander a commité :

  • l'ajout du support pour l'installation de fichiers NLS, et mise à jour du support pour l'utilisation de la version gnuwin32 de gettext ;
  • dans pgsql/src/tools/msvc/Install.pm, installe les fichiers readme et sql de contrib ;
  • dans pgsql/src/tools/msvc/Mkvcbuild.pm, extrait correctement le nom des modules de contrib qui ne sont pas nommés de la même façon que leur répertoire (notamment xml2/pgxml et intarray/_int) ;
  • un commit oublié : support des cas spéciaux de pgcrypto dans pgsql/src/tools/msvc/getregress.pl ;
  • l'ajout du support de MSVC pour exécuter contribcheck ;
  • que MSVC engendre les fichiers SQL de /contrib en se basant sur .sql.in ;
  • dans pgsql/src/tools/msvc/Solution.pm, ajout d'un define pour exclure les librairies configurées afin de construire facilement une version allégée de libpq. Sera utilisé par l'installeur ;
  • le retrait des en-têtes obsolètes pour l'émulation du vieux sysv shmem dans pgsql/src/include/port/win32.h. Retrait également des en-têtes pour l'émulation des vieux sysv semaphore qui ont été oubliés après leur remplacement il y a un an ;
  • ajout du fichier utile pour les tests de regression de PL dans pgsql/src/tools/msvc/getregress.pl ;
  • ajout de la documentation à propos de vcregress ;
  • dans pgsql/src/tools/msvc/vcregress.bat, ajout du support pour lancer des tests de regressions depuis des languages procéduraux ;
  • retour d'un code d'erreur approprié lors d'échecs des tests de regression ;
  • implémentation native de la mémoire partagée pour win32. Utilise la même technologie sous-jacente qu'avant, mais pas la couche d'émulation sysv ;
  • dans pgsql/src/tools/msvc/Mkvcbuild.pm, modifie ecpglib pour qu'il exige libpgport, effectué par Andrew Dunstan.

Correctifs rejetés (pour le moment)

Le patch de Zdenek Kotala qui permet aux utilisateurs de basculer d'un fuseau horaire interne à un autre - typiquement celui utilisé par l'OS. Il a été considéré comme trop envahissant par rapport à l'alternative qui consiste à supprimer l'ancien fichier pour créer un lien vers le nouveau.

Le patch de Bruce Momjian pour l'amélioration de la vitesse à laquelle VACUUM marque les données expirées. Il manque plusieurs cas important dont celui des CURSORs.

Correctifs en attente

  • Magnus Hagander a envoyé un correctif qui autorise les utilisateurs à tirer certaines statistiques du bgwriter afin de pouvoir les suivres ;
  • Heikki Linnakangas a envoyé un correctif qui se propose de faire de CLUSTER une opération MVCC sûre ;
  • Jeff Davis a envoyé une autre révision de son correctif "Synchronized Scan", présentant cette fois-ci un rapport toutes les 16 pages ;
  • ITAGAKI Takahiro a envoyé une autre version de son correctif "Load distributed checkpoint" ;
  • Pavan Deolasee a envoyé une autre version de son correctif "HOT WIP" ;
  • Alvaro Herrera a envoyé un correctif en court de développement qui permet d'avoir de multiple travaux simultanés pour autovacuum.

© PostgreSQLFr, tous droits réservés.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.