IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

E.81. Sortie 7.2

[Note]

Date de sortie

2002-02-04

E.81.1. Aperçu

Cette version améliore PostgreSQL™ pour une utilisation avec des applications gèrant de gros volumes.

Modifications majeures dans cette version :

VACUUM

L'opération VACUUM ne verrouille plus les tables, permettant du coup un accès à l'utilisateur normal pendant le vacuum. Une nouvelle commande VACUUM FULL fait le vacuum ancien style en verrouillant la table et en diminuant la copie disque de la table.

Transactions

Il n'y a plus de problèmes avec les installations dépassant quatre milliards de transactions.

OID

Les OID sont maintenant optionnelles. Les utilisateurs peuvent maintenant créer des tables sans OID dans le cas où l'utilisation d'OID est excessif.

Optimiseur

Le système calcule maintenant des statistiques de colonnes lors d' ANALYZE , permettant de meilleurs choix pour l'optimiseur.

Sécurité

Une nouvelle option de cryptage MD5 permet un stockage plus sécurisé et le transfert des mots de passe. Une nouvelle option d'authentification par socket de domaine Unix est disponible sur les systèmes Linux et BSD.

Statistiques

Les administrateurs peuvent utiliser le nouveau module de statistiques d'accès aux tables pour obtenir des informations détaillées sur l'utilisation des tables et index.

Internationalisation

Les messages des programmes et des bibliothèques peuvent maintenant être affichés dans plusieurs langues.

E.81.2. Migration vers la version 7.2

Une sauvegarde/restauration avec pg_dump est requis pour ceux qui souhaitent migrer leur données d'une version précédente.

Observez les incompatibilités suivantes :

  • La sémantique de la commande VACUUM a changé dans cette version. Vous devez mettre à jour vos procédures de maintenance en adéquation.

  • Dans cette version, les comparaisons utilisant = NULL retourneront toujours faux (ou NULL, plus précisément). Les anciennes versions transformaient automatiquement cette syntaxe en IS NULL. L'ancien comportement peut être réactivé en utilisant un paramètre de postgresql.conf.

  • Les fichiers de configuration pg_hba.conf et pg_ident.conf sont maintenant rechargés après réception d'un signal SIGHUP, pas avec chaque connexion.

  • La fonction octet_length() renvoie maintenant la taille des données non compressées.

  • La valeur de type date/time 'current' n'est plus disponible. Vous aurez besoin de réécrire vos applications.

  • Les fonctions timestamp(), time() et interval() ne sont plus disponibles. À la place, utilisez timestamp 'string' ou CAST.

La syntaxe SELECT ... LIMIT #,# sera supprimée dans la prochaine version. Vous devez modifier vos requêtes pour utiliser des clauses LIMIT et OFFSET séparées, c'est-à-dire LIMIT 10 OFFSET 20.

E.81.3. Modifications

  • SUM(), AVG(), COUNT() utilisent maintenant int8 en interne pour des questions de rapidité (Tom)

  • Ajout de convert(), convert2() (Tatsuo)

  • Nouvelle fonction bit_length() (Peter E)

  • Fait que le "n" dans CHAR(n)/VARCHAR(n) représente le nombre de lettres, pas le nombre d'octets (Tatsuo)

  • CHAR(), VARCHAR() rejetent maintenant les chaînes trop longues (Peter E)

  • BIT VARYING rejete maintenant les chaînes de bits trop longues (Peter E)

  • BIT rejete maintenant les chaînes de bits ne correspondant pas à la taille déclarée (Peter E)

  • Fonctions de conversions texte pour INET, CIDR (Alex Pilosov)

  • Opérateurs << et <<= indexables pour INET, CIDR (Alex Pilosov)

  • Bytea \### requiert maintenant un numéro valide à trois chiffres octals

  • Amélioration des comparaisons de Bytea, supporte maintenant =, <>, >, >=, < et <=

  • Bytea supporte maintenant les index B-tree

  • Bytea supporte maintenant LIKE, LIKE...ESCAPE, NOT LIKE, NOT LIKE...ESCAPE

  • Bytea supporte maintenant la concaténation

  • Nouvelles fonctions bytea : position, substring, trim, btrim et length

  • Nouveau mode de fonction pour encode(), "escaped", convertit les bytea échappés de façon minimale vers/à partir du texte

  • Ajout de pg_database_encoding_max_length() (Tatsuo)

  • Ajout de la fonction pg_client_encoding() (Tatsuo)

  • now() renvoie l'heure avec une précision à la milliseconde (Thomas)

  • Nouveau type de données TIMESTAMP WITHOUT TIMEZONE (Thomas)

  • Ajout de la spécification ISO date/time avec "T", yyyy-mm-ddThh:mm:ss (Thomas)

  • Nouvelles fonctions de comparaisons des xid/int (Hiroshi)

  • Ajout de la précision vers les types de données TIME, TIMESTAMP et INTERVAL (Thomas)

  • Modification de la ligique de coercion des types pour tenter en premier lieu les fonctions compatibles binairement (Tom)

  • Nouvelle fonction encode() installée par défaut (Marko Kreen)

  • Amélioration des fonctions de conversion to_*() (Karel Zak)

  • Optimisation de LIKE/ILIKE lors de l'utilisation de codage sur un seul octet (Tatsuo)

  • Nouvelles fonctions dans contrib/pgcrypto : crypt(), hmac(), encrypt(), gen_salt() (Marko Kreen)

  • Bonne description de la fonction translate() (Bruce)

  • Ajout de l'argument INTERVAL pour SET TIME ZONE (Thomas)

  • Ajout de la syntaxe INTERVAL YEAR TO MONTH (etc.) (Thomas)

  • Optimisation des fonctions length lors de l'utilisation de codage sur un seul octet (Tatsuo)

  • Corrections de path_inter, path_distance, path_length, dist_ppath pour gérer les chemins fermés (Curtis Barrett, Tom)

  • octet_length(text) renvoie maintenant une longueur non compressée (Tatsuo, Bruce)

  • Gestion du nom complet "July" dans les littéraux date/time (Greg Sabino Mullane)

  • Quelques appels de fonction datatype() sont maintenant évalués différemment

  • Ajout du support pour les spécifications d'heure julienne et ISO (Thomas)

  • Renvoie l'OID d'INSERT (Ken K)

  • Gestion d'un plus grand nombre de types de données (Ken K)

  • Gestion des guillemets simples et des retours chariots dans les chaînes (Ken K)

  • Gestion des variables NULL (Ken K)

  • Correction pour la gestion des fuseaux horaires (Barry Lind)

  • Amélioration du support de Druid

  • Autorisation des caractères à huit bits avec un serveur non compatible avec le multi-octets (Barry Lind)

  • Support des types BIT, BINARY (Ned Wolpert)

  • Réduction de l'utilisation de la mémoire (Michael Stephens, Dave Cramer)

  • Mise à jour de DatabaseMetaData (Peter E)

  • Ajout de DatabaseMetaData.getCatalogs() (Peter E)

  • Corrections du codage (Anders Bengtsson)

  • Méthodes get/setCatalog (Jason Davies)

  • DatabaseMetaData.getColumns() renvoie maintenant les valeurs par défaut des colonnes (Jason Davies)

  • Amélioration de la performance de DatabaseMetaData.getColumns() (Jeroen van Vianen)

  • Rassemblement de JDBC1 et JDBC2 (Anders Bengtsson)

  • Améliorations des performances des transactions (Barry Lind)

  • Corrections sur les tableaux (Greg Zoller)

  • Ajout de la sérialisation

  • Correction du traitement en lots (Rene Pijlman)

  • Réorganisation de la méthode ExecSQL (Anders Bengtsson)

  • Corrections de getColumn() (Jeroen van Vianen)

  • Correction de la fonction isWriteable() (Rene Pijlman)

  • Amélioration du passage des tests de conformance JDBC2 (Rene Pijlman)

  • Ajout du type bytea (Barry Lind)

  • Ajout de isNullable() (Rene Pijlman)

  • Corrections pour la suite de tests JDBC date/time (Liam Stewart)

  • Correction sur SELECT 'id' AS xxx FROM table (Dave Cramer)

  • Correction de DatabaseMetaData pour afficher la bonne précision (Mark Lillywhite)

  • Nouvelles clés getImported/getExported (Jason Davies)

  • Support des mots de passe cryptés MD5 (Jeremy Wohl)

  • Correction pour réellement utiliser le cache des types (Ned Wolpert)