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

PostgreSQL Weekly News | Nouvelles neuves de PG

Par SAS le 23/03/2007 - 12:20

Nouvelles hebdomadaires de PostgreSQL - 18 mars 2007

Les inscriptions étudiantes au Google Summer Of Code sont officiellement ouvertes :
http://code.google.com/soc/

N'hésitez pas à contacter Robert Treat à xzilla@users.sourceforge.net si vous souhaitez effectuer un talk au PgCon.

Les nouveautés des produits dérivés

Les jobs PostgreSQL Jobs de mars

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

PostgreSQL Local

La communauté PostgreSQL italienne est toujours à la recherche de mécènes pour ses journées PostgreSQL au Prato, Italie.
http://www.pgday.it

Anders Steinlein crée un PUG en Norvège. N'hésitez pas à le contacter à prendre part à l'aventure.

Josh Berkus, David Fetter et Fernando Ike de Oliveira seront à la FISL 8.0 in Porto Alegre, RS, Brazil.

PostgreSQL dans les média

  • Planet PostgreSQL :
    http://www.planetpostgresql.org/
  • General Bits, Archives et articles occasionnels :
    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 à david@fetter.org. Les propositions en allemand peuvent être envoyées à pwn@pgug.de.

    Correctifs appliqués

Neil Conway a commité :

  • le patch de Stefan Huehner pour déclarer plusieurs variables char* en const lorsqu'elles sont initialisées avec une chaîne de caractère constante ;
  • le patch de Stefan Huehner qui modifie quelques déclarations de fonction en style K&R vers de l'ANSI C.

Michael Meskes a commité :

  • simplification de la règle sortby dans pgsql/src/backend/parser/gram.y ;
  • diverses corrections de ecpg, un peu de refonte de code, et quelques nouveaux tests unitaires ;
  • ajout du nouveau répertoire src/interfaces/ecpg/preproc/parser.

Alvaro Herrera a commité :

  • correction d'une valeur non initialisée dans pgstatindex menant dans certains cas à fournir des données invalides. Rapport et patch de Tatsuhito Kasahara.
    Ont été aussi corrigé deux autres bogues que j'ai remarqué en validant le code environnant.

Teodor Sigaev a commité :

  • le patch de Guillaume Smet qui ajoute le support de GIN pour pg_trgm, avec quelques ajouts éditoriaux de Teodor Sigaev.

Tom Lane a commité :

  • correction du makefile de ecpg/preproc pour la construction en parallèle : parser.o doit dépendre de preproc.h, sinon, make pourrait essayer de le construire avant que preproc.h soit prêt. Rapporté suite à des échecs constatés ici et dans la ferme de compilation ;
  • SPI_cursor_open ne peut assurer que seules les requêtes en lecture seule peuvent être éxecutées en mode lecture seule. Cela peut conduire à différents échecs relativement subtils, comme une fonction prétenduement stable qui renverait des resultats instables. Ce bug concerne toutes les versions depuis l'introduction du mode lecture seule dans 8.0. Rapporté par Gaetano Mendola ;
  • oups, une seule des deux variantes de ArrayExpr a été corrigée dans le premier jet pour le support de exprTypmod. De plus, l'expérience montre que nous devons étiqueter les noeuds numeric de type Const avec un typmod spécifique ;
  • correction des derniers endroits où l'expression de la structure du noeud pouvait perdre les informations disponibles à propos d'une expression ; soit Const, ArrayRef, ArrayExpr, and EXPR et les ARRAY SubLinks. Dans les cas de ArrayExpr et SubLink ce n'était pas vraiment la faute de la structure de donnée, mais celle de la faignantise de exprTypmod().
    Cela semble être une bonne idée en vue du travail attendu de Teodor sur la remontée de l'utilisation de typmod pour autoriser les types définis par les utilisateurs à avoir des typmods.
    Ça répond en particulier aux propos que nous avons échangés sur l'élimination du code écrit spécialement pour exprTypmod() qui l'utilisait comme BPCHAR Consts.
    Nous pouvons désormais dire si un tel Const a été défini à une taille spécifique ou non, et l'indiquer ou l'afficher correctement. initdb a dû être mis à jour à cause des changements dans les règles stoquées ;
  • correction d'un bogue d'appels concurrents dans les tests de régressions en parallèle. Le nouveau test du planificateur de cache suppose qu'il n'existe pas de table 'foo' à ce moment là, mais il s'avère que les tests sur les règles en créent une en même temps, ce qui entraîne parfois l'échec de planificateur. Je peut reproduire cela en quelques essais ici, mais plusieurs fermes de compilation ont déjà rencontré ce problème. Corrigé en renommant la table temporaire du planificateur de cache par quelque chose de non conflictuel. ;
  • utilisation du module de planificateur de cache pour les plans de SPI. En particulier, depuis que plpgsql utilise les plans SPI, permet de finalement corriger l'incompréhension sur le fait de ne pas pouvoir supprimé et recréé une table temporaire depuis une fonction plpgsql.
    Ce faisant, l'API de SPI a été nettoyée un petit peu en déclarant les pointeurs de plan SPI en "SPIPlanPtr" plutôt qu'en "void *". Ça reste cosmetique, mais ça aide à éviter les petites erreurs de programmation. (J'en ai changé quelques uns, mais pas tous les appels concernés ; il reste certains "void *" dans contrib et les PL. C'est voulu afin de voir si quelque compilateur s'en plaint.)
  • correction d'un bug longtemps resté en attente pour la prise en charge des chaînes de mise à jour dans VACUUM FULL. Le code ne prévoit pas qu'un tuple DEAD puisse suivre un tuple RECENTLY_DEAD dans une chaîne de mise à jour, mais la règle OldestXmin qui détermine l'état de mort étant une simplification de la réalité, il est possible que cela se produise (impliquant que le tupe RECENTLY_DEAD soit mort pour tous les observateurs, mais ce patch n'essaie pas d'exploiter cela). Le code suivrait une chaîne jusqu'au bout, mais ensuite s'arrêterait avant un tuple DEAD pour la sauvegarde, ce qui implique que toute la chaîne ne sera pas déplacée. Cela peut mener à de multiple copies de la chaîne (impliquant à terme des copies de tuples actifs dupliquées), ou d'oublier des entrées d'index balancés (ce qui, en plus de générer des avertissements lors des prochains vaccums, crée un risque d'avoir des résultats de requête faux ou de fausses erreurs de clé dupliquée une fois que la partie des données pointées par l'index est repeuplée).
    La correction consiste à revérifier HeapTupleSatisfiesVacuum durant l'avancée dans une chaîne, et d'arrêter lorsqu'un tuple DEAD est atteint. Tout group contigü de tuple RECENTLY_DEAD sera alors copié dans une chaîne à part. Le patch ajoute aussi deux vérifications de cohérence supplémentaires pour assurer un comportement correcte. Compte rendu et test unitaire de Pavan Deolasee ;
  • essayé d'inserer une entrée "posixrules" dans notre base de fuseaux horaires, ainsi les spécifications de fuseau horaire de style POSIX ne correspondant pas exactement à une entrées de la base seront traitées comme ayant une règle USA DST correcte. De plus, documenté que cela peut-être modifié pour utiliser d'autres règles DST avec une spécification de zone POSIX. Nous pourrions penser à changer le TZDEFRULESTRING de localtime.c, mais comme cette astuce ne peut-être utilisée qu'avec une règle de transition DST, ça semble plutôt inutile ; nous pourrions aussi juste le surcharger en utilisant une entrée "posixrules". Le patch rmeonte jusqu'à la 8.0. Il n'y a pas grand chose à faire pour les 7.x...votre libc le gère correctement, ou pas. ;
  • correction d'un balisage cassé, avec une taille de tabulation étrange ;
  • le Makefile de regression a désormais besoin de faire une liste de ce qui doit être nettoyé pour chaque répertoire input/ et output/, car à cause de l'ajout de largeobject_1.source, ils n'ont plus la même liste. A priori, le processus de ferme de compilation actuel ne se fait pas si 'make distclean' ne laisse pas une arborescence propre, sinon, la ferme échouerait pendant un bout de temps. ;
  • première phase du projet d'invalidation de planification : crée un module de gestion de planification de cache et enseigne comment l'utiliser à PREPARE et aux instructions préparées par niveau de protocole. l'utilitaire de réarrangement est à son service afin que l'analyse du parseur ne prévoit pas que les schema de tables ne puissent pas changer avant l'execution pour l'utilitaire d'instructions (nécessaire car nous n'essayons pas de réobtenir les verrous pour l'utilitaire d'instructions lors de la réutilisation d'un plan stocké).
    Cela nécessite quelque refontes de l'API ProcessUtility, mais quoiqu'il en soit, ça finira par être plus clair, par exemple nous pouvons nous débarrasser de la global QueryContext. Reste à faire: corriger SPI et les codes impactés pour qu'ils utilisent le planificateur de cache ; Je suis tenté d'essayer de faire en sorte que les fonctions SQL puissent l'utiliser aussi. De plus il y a au moins quelques aspects d'état de système dont nous devons nous assurer qu'il reste à l'identique de l'execution orignale durant la replanification ; search_path doit certainement se comporter de cette manière par exemple, et il y en a peut-être d'autre.

Peter Eisentraut a commité :

  • l'annulation du correctif suivant, en attendant d'autres correctifs ;
  • le patch de Joachim Wieland qui permet de rendre aux paramètres leur valeur par défaut lorsqu'ils sont absents du fichier de configuration.

Magnus Hagander a commité :

    la compilation de MSVC a actuellement besoin de Bison 2.2 ou plus, pas 2.1. Ou 1.875 comme avant ;
  • l'ajout d'une note expliquent que diff est requis pour les tests de régression ;
  • l'ajout d'un tag cvs pour les fichiers de compilation de msvc, ainsi qu'un (très court) commentaire à propos de ce que fait chaque script ;
  • Houla, oublié de retirer le vieux script gnbki ;
  • la transformation de la plupart des script de compilation vc en module au lieu de scripts, et nous n'avons plus que des squelettes de scripts qui les appellent. Simplifie l'accès direct aux modules par la ferme de compilation (ou d'autres "appels exterieurs"). Suggestion de Andrew Dunstan ;
  • l'ajout de nouvelles colonnes pour les statistiques de tuple au niveau de la base de données à pg_stat_database ;
  • le correctif de Greg Sabino Mullane qui permet à psql de retourner le type des agrégats avec \da ;
  • dans pgsql/src/tools/msvc/builddoc.bat, le retrait des guillemets simples supplémentaires hérités de la construction Unix. Win32 ne retire pas ces guillemets simples...
  • la réécriture de la documentation d'installation pour win32 (elle ne considère plus uniquement le côté client, mais est désormais complète). Mise à jour du support pour MSVC6/Borland maintenant juste avec libpq. Déplacement de la plupart des informations sur la compilation complète de MSVC du README dans la documentation ;
  • filtre les avertissements qui viennent des feuilles de style, de sorte que désormais les avertissements actuels se voient proprement. Montre quelques petits messages de progression ;
  • défini la racine des trucs docbook dans buildenv.bat et pas dans builddoc.bat. Répare l'appel pour renommer un fichier quand cd:ed dans un dossier différent. ;
  • l'usage correct de pg_strcasecmp() au lieu de strcasecmp(). Annule le soucis de compilation win32 ;
  • le correctif de ITAGAKI Takahiro qui fixe stderr à non-bufferisé pour pgbench sur win32 ;
  • l'utilisation de perltidy pour formatter le code perl MSVC. Suggestion de Andrew Dunstan.

Correctifs rejetés (à ce jour)

Pas de déception cette semaine :-)

Correctifs en attente

  • Heikki Linnakangas a soumis un correctif pour améliorer le parcours bitmap. Une discussion animée s'en est suivie ;
  • Gavin Sherry a envoyé un correctif différent pour le parcours de l'index bitmap ;
  • Gregory Stark a envoyé un correctif qui implante la suggestion de Tom Lane pour envelopper les pointeurs toast non-alignés et les copier dans une structure locale pour accéder aux champs ;
  • Pavan Deolasee a envoyé la version 4.4 de son correctif HOT WIP 
  • Gregory Stark a envoyé une autre version de son correctif Packed Varlena 
  • Jeff Davis a envoyé une autre version de son correctif de scans synchronisés WIP, celui-ci avec quelques ajustements pour appeler ss_report_loc() moins souvent, changement sur la connexion, et quelques nouvelles variables GUC 
  • Andrew Dunstan a envoyé un correctif qui supprime le comportement non-documenté de \copy de psql de la branche pre-7.3 
  • Magnus Hagander a envoyé un correctif qui ajoute quelques nouvelles colonnes à pg_stat_database 
  • Jan Wieck a envoyé 3 révisions d'un correctif étendant pg_trigger et pg_rewrite pour le rendre plus réplication-compatible ;
  • Magnus Hagander a envoyé un correctif qui remplace les pthreads du code d'ecpg par les threads natifs de win32, de facon à le rendre threadsafe. L'idée est de ne pas avoir à télécharger les librairies pthreads non-standard sur windows.
    Cela vous semble-t-il faire ce que cela doit faire ? Est-ce que quelqu'un a un bon cas de test qui casse ecpg lorsqu'il n'a pas été compilé thread-safe ? (ce qui doit surement casser lorsque compilé en thread-safe avec une mauvaise implantation) ;
  • ITAGAKI Takahiro a envoyé un handler pour annuler vacuumdb, reindexdb et clusterdb.

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