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

E.97. Version 8.0.2

[Note]

Date de sortie

2005-04-07

Cette version contient quelques corrections de la 8.0.1. Pour plus d'informations sur les nouvelles fonctionnalités de la version majeure 8.0, voir Section E.99, « Version 8.0 ».

E.97.1. Migration vers la version 8.0.2

Une sauvegarde/restauration n'est pas requise pour ceux utilisant les versions 8.0.*. Cette version met à jour le numéro de version majeure des bibliothèques PostgreSQL™, donc il pourrait être nécessaire de re-lier certaines applications utilisateurs si elles n'arrivent pas à trouver la bonne bibliothèque partagée.

E.97.2. Modifications

  • Incrémentation du numéro de version majeure pour toutes les bibliothèques d'interface (Bruce)

    Ceci aurait dû être fait depuis la 8.0.0. C'est requis pour que les versions 7.4.X des applications clientes de PostgreSQL, comme psql, puissent être utilisées sur la même machine que les applications 8.0.X. Ceci pourrait nécessiter une nouvelle édition des liens des applications clientes utilisant ces bibliothèques.

  • Ajout du paramètre wal_sync_method, uniquement sous Windows, pourfsync_writethrough (Magnus, Bruce)

    Ce paramètre fait que PostgreSQL™ écrit les WAL via le cache d'écriture du disque. Ce comportement était appelé auparavant fsync mais a été renommé car il agit complètement différemment de fsync sur les autres plateformes.

  • Active la valeur open_datasync du paramètre wal_sync_method sur Windows et le prend par défaut sur cette plateforme (Magnus, Bruce)

    Comme la valeur par défaut n'est plus fsync_writethrough, une perte de données est possible lors d'une coupure de courant si le disque a activé le cache en écriture. Pour désactiver ce cache sur Windows, à partir du Device Manager, choisissez les propriétés du disque, puis Policies.

  • Le nouvel algorithme de gestion du cache 2Q remplace ARC (Tom)

    Ceci a été accompli pour éviter un brevet logiciel en attente sur ARC. Le code 2Q pourrait être un peu plus lent qu'ARC pour certains charges de travail. Un meilleur algorithme de gestion de cache apparaîtra pour la version 8.1.

  • Ajustements du planificateur pour améliorer le comportement sur les tables nouvellement créées (Tom)

  • Autorise plpgsql d'affecter un élément initialement NULL à un tableau (Tom)

    Auparavant, le tableau resterait NULL mais maintenant, il devient un tableau à un seul élément. Le moteur SQL principal a été modifié pour gérer un UPDATE d'une valeur de tableau NULL de cette façon dans la version 8.0 mais le cas similaire dans plpgsql a été oublié.

  • Conversion de \r\n et \r en \n dans le corps des fonctions en plpython (Michael Fuhr)

    Ceci empêche les erreurs de syntaxe quand le code plpython a été écrit sur un client Windows ou Mac.

  • Autorise les curseurs SPI pour gérer les commandes outils qui renvoient des lignes comme EXPLAIN (Tom)

  • Correction de l'échec de CLUSTER après ALTER TABLE SET WITHOUT OIDS (Tom)

  • Réduction de l'utilisation de la mémoire d'ALTER TABLE ADD COLUMN (Neil)

  • Correction d'ALTER LANGUAGE RENAME (Tom)

  • Documentation des options register et unregister de pg_ctl spécifiques à Windows (Magnus)

  • S'assure que les opérations effectuées lors de l'arrêt du moteur sont comptées par le récupérateur de statistiques

    Ceci devrait résoudre les rapports de pg_autovacuum ne nettoyant pas assez fréquemment les catalogues systèmes -- il n'était pas tenu au courant des suppressions de catalogues causées par la suppression de table temporaire lors de l'arrêt du moteur.

  • Modification de la valeur par défaut, sous Windows, pour le paramètre de configuration log_destination par eventlog (Magnus)

    Par défaut, un serveur fonctionnant sous Windows enverra maintenant la sortie des traces au gestionnaire des traces de Windows plutôt que sur la sortie standard des erreurs.

  • Rend l'authentification Kerberos fonctionnel sur Windows (Magnus)

  • Autorise ALTER DATABASE RENAME pour les superutilisateurs qui n'ont pas le droit CREATEDB (Tom)

  • Modification des entrées WAL pour les commandes CREATE et DROP DATABASE pour ne pas spécifier les chemins absolus (Tom)

    Ceci permet la récupération à un instant sur une machine différente avec des emplacements de bases de données pouvant être différents. Notez que CREATE TABLESPACE est toujours hasardeux dans certaines situations.

  • Correction d'un arrêt brutal suivant l'arrêt d'un serveur avec une transaction ouverte qui a créé une table et ouvert un curseur sur elle (Tom)

  • Correction de array_map() pour qu'il puisse appeler des fonctions de langages de procédures (Tom)

  • Plusieurs corrections pour contrib/tsearch2 et contrib/btree_gist (Teodor)

  • Correction de quelques arrêts brutaux de certaines fonctions de contrib/pgcrypto concernant certaines plateformes (Marko Kreen)

  • Correction de contrib/intagg pour les plateformes 64 bits (Tom)

  • Correction de bogues d'ecpg dans l'analyse d'instructions CREATE (Michael)

  • Contournement d'un bogue de gcc sur powerpc et amd64 posant des problèmes sur ecpg (Christof Petig)

  • N'utilise pas les versions upper(), lower() et initcap() prenant compte de la locale utilisée lorsque la locale est C (Bruce)

    Ceci permet à ces fonctions de fonctionner sur les plateformes qui génèrent des erreurs pour les données non 7 bits lorsque la locale est C.

  • Correction de quote_ident() pour mettre entre guillemets les noms qui correspondent à des mots clés (Tom)

  • Correction de to_date() pour correspondre raisonnablement quand les champs CC et YY sont utilisées tous les deux (Karel)

  • Empêche to_char(interval) d'échouer quand lui est passée une intervalle de zéro mois (Tom)

  • Correction du mauvais mois renvoyé par date_trunc('week') (Bruce)

    date_trunc('week') a renvoyé la mauvaise année pour les quelques premiers jours de Janvier pour certaines années.

  • Utilise la longueur par défaut du masque pour la classe D d'adresses pour les types de données INET (Tom)