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

E.152. Sortie 7.3

[Note]

Date de sortie

2002-11-27

E.152.1. Aperçu

Modifications majeures dans cette version :

Schémas

Les schémas permettent aux utilisateurs de créer des objets dans des espaces de noms séparés, donc deux personnes ou applications peuvent avoir des tables de même nom. Il existe aussi un schéma public pour les tables partagées. La création de table/index peut être restreinte en supprimant les droits du le schéma public.

Suppression de colonne

PostgreSQL™ supporte maintenant la fonctionnalité ALTER TABLE ... DROP COLUMN.

Fonctions de tables

Les fonctions renvoyant plusieurs lignes et/ou plusieurs colonnes sont maintenant plus facile à utiliser qu'auparavant. Vous pouvez appeler une « fonction de table » dans la clause FROM d'un SELECT, traitant sa sortie comme une table. De plus, les fonctions PL/pgSQL peuvent maintenant renvoyer des ensembles.

Requêtes préparées

PostgreSQL™ supporte maintenant les requêtes préparées pour des performances améliorées.

Récupération des dépendances

PostgreSQL™ enregistre maintenant les dépendances de objets, ce qui permet des améliorations dans de nombreux domaines. Les instructions DROP prennent maintenant soit CASCADE soit RESTRICT pour contrôler si les objets dépendant sont aussi supprimés.

Droits

Les fonctions et langages de procédures disposent maintenant de droits et les fonctions peuvent être définies pour être exécutées suivant les droits de leur créateur.

Internationalisation

Le support du multioctet et des locales est maintenant activé en permanence.

Traces

Une variété d'options de traces a été améliorée.

Interfaces

Un grand nombre d'interfaces a été déplacé dans http://gborg.postgresql.org où ils peuvent être développés et mis à disposition indépendamment.

Fonctions/Identifieurs

Par défaut, les fonctions prennent maintenant jusqu'à 32 paramètres et les identifieurs peuvent être d'une taille maximum de 63 octets. De plus, OPAQUE est maintenant obsolète : il existe des « pseudo-types de données » pour représenter chacune des significations précédentes de OPAQUE dans l'argument et les types de résultat de la fonction.

E.152.2. Migration vers la version 7.3

Une sauvegarde/restauration utilisant pg_dump est requise pour ceux souhaitant migrer leur données à partir d'une version précédente. S i votre application examine les catalogues systèmes, des modifications supplémentaires seront requises à cause de l'introduction des schémas dans la version 7.3 ; pour plus d'informations, voir : http://developer.postgresql.org/~momjian/upgrade_tips_7.3.

Observez les incompatibilités suivantes :

  • Les clients avant la 6.3 ne sont plus supportés.

  • pg_hba.conf a maintenant une colonne pour le nom de l'utilisateur et pour des fonctionnalités supplémentaires. Les fichiers existants doivent être ajustés.

  • Quelques paramètres de trace de postgresql.conf ont été renommés.

  • LIMIT #,# a été désactivé ; utilisez LIMIT # OFFSET #.

  • Les instructions INSERT avec des listes de colonnes doivent spécifier une valeur pour chaque colonne spécifiée. Par exemple, INSERT INTO tab (col1, col2) VALUES ('val1') est maintenant non valide. Il est toujours permis de fournir moins de colonnes qu'attendu si l'INSERT n'a pas de liste de colonnes.

  • Les colonnes de type serial ne sont plus automatiquement UNIQUE ; du coup, un index ne sera pas automatiquement créé.

  • Une commande SET à l'intérieur d'une transaction est maintenant annulée

  • COPY ne considère plus que les colonnes de fin manquantes doivent être NULL. Toutes les colonnes doivent être spécifiées. (Néanmoins, vous pouvez avoir un effet similaire en spécifiant une liste de colonnes dans la commande COPY.)

  • Le type de données timestamp est maintenant équivalent à timestamp without time zone, au lieu de timestamp with time zone.

  • Les bases de données, avant la version 7.3 et chargées dans cette version, n'auront pas les dépendances du nouvel objet pour les colonnes de type serial, les contraintes uniques et les clés étrangères. Voir le répertoire contrib/adddépend/ pour une description détaillée et un script qui ajoute ces dépendances.

  • Une chaîne vide ('') n'est plus permise comme entrée dans un champ d'entier. Auparavant, c'était silencieusement interprété comme 0.

E.152.3. Modifications

E.152.3.1. Opérations du serveur

  • Ajout de la vue pg_locks pour afficher les verrous (Neil)

  • Corrections de sécurité pour l'allocation en mémoire de la négotiation des mots de passe (Neil)

  • Suppression du support pour le protocole version 0 FE/BE (PostgreSQL™ 6.2 et précédent) (Tom)

  • Réservation des quelques derniers emplacements du serveur pour les superutilisateurs, ajout du paramètre superuser_reserved_connections pour contrôler ceci (Nigel J. Andrews)

E.152.3.2. Performance

  • Amélioration du lancement en appelant localtime() seulement une fois (Tom)

  • Mise en cache des informations du catalogue système dans des fichiers plats pour un lancement plus rapide (Tom)

  • Amélioration du cache pour les informations des index (Tom)

  • Améliorations de l'optimiseur (Tom, Fernando Nasser)

  • Les caches catalog stockent maintenant les recherches échoués (Tom)

  • Amélioration des fonctions de découpage (Neil)

  • Amélioration de la performance de la mise en jeton des requêtes et de la gestion du réseau (Peter)

  • Amélioration de la rapidité pour la restauration des objets larges (Mario Weilguni)

  • Marquage des entrées d'index expirés lors de la première re chercher, sauvant ainsi quelques récupérations d'en-tête (Tom)

  • Évite un remplissage de bitmap NULL excessif (Manfred Koizar)

  • Ajout du qsort() pour Solaris sous licence BSD, pour les performances (Bruce)

  • Réduction du coût par ligne des quatre octets (Manfred Koizar)

  • Correction d'un bogue dans l'optimiseur GEQO (Neil Conway)

  • Utiliser WITHOUT OID fait réellement gagner quatre octets par ligne (Manfred Koizar)

  • Ajout de la variable default_statistics_target pour spécifier des cibles ANALYZE (Neil)

  • Utilisation du tampon cache local pour les tables temporaires pour qu'il n'y ait pas de surcharge des WAL (Tom)

  • Amélioration des performances de la carte des espaces libres sur de grandes tables (Stephen Marshall, Tom)

  • Amélioration de la concurrence des écritures dans les WAL (Tom)

E.152.3.3. Droits

  • Ajout de droits sur les fonctions et langages de procédure (Peter)

  • Ajout de OWNER à CREATE DATABASE pour que les superutilisateurs puissent créer des bases de données pour les utilisateurs non privilégiés (Gavin Sherry, Tom)

  • Ajout des nouveaux bits de droits EXECUTE et USAGE (Tom)

  • Ajout de SET SESSION AUTHORIZATION DEFAULT et RESET SESSION AUTHORIZATION (Tom)

  • Permet que les fonctions soient exécutées avec les droits du propriétaire de la fonction (Peter)

E.152.3.4. Configuration du serveur

  • Les messages de traces du serveur sont maintenant marqués avec LOG, et non pas DEBUG (Bruce)

  • Ajout d'une colonne utilisateur à pg_hba.conf (Bruce)

  • log_connections affiche deux lignes dans le journal des traces (Tom)

  • Suppression de debug_level dans postgresql.conf, maintenant server_min_messages (Bruce)

  • Nouvelle commande ALTER DATABASE/USER ... SET pour l'initialisation de la base de données par utilisateur (Peter)

  • Nouveaux paramètres server_min_messages et client_min_messages pour contrôler quels messages sont envoyés au journal des traces du serveur ou aux applications clientes (Bruce)

  • Permet à pg_hba.conf de spécifier des listes d'utilisateurs /bases de données séparées par des virgules, des noms de groupe avant le signe + en suffixe et des noms de fichiers avec un @ en préfixe (Bruce)

  • Suppression de la capacité d'un deuxième fichier de mot de passe et de l'outil pg_password (Bruce)

  • Ajout d'une variable db_user_namespace pour les noms utilisateurs locaux à la base de données (Bruce)

  • Amélioration de SSL (Bear Giles)

  • Les mots de passe sont cryptés par défaut (Bruce)

  • Autorise la réinitialisation de pg_statistics par l'appel de pg_stat_reset() (Christopher)

  • Ajout du paramètre log_duration (Bruce)

  • Renommage de debug_print_query en log_statement (Bruce)

  • Renommage de show_query_stats en show_statement_stats (Bruce)

  • Ajout de param log_min_error_statement pour afficher les commandes à tracer en cas d'erreur (Gavin)

E.152.3.5. Requêtes

  • Les curseurs ne sont pas sensibles, ce qui signifie que leur contenu ne change pas (Tom)

  • Désactivation de la syntaxe LIMIT #,# ; maintenant seul LIMIT # OFFSET # est supporté (Bruce)

  • Augmentation de la taille de l'identifiant à 63 (Neil, Bruce)

  • Corrections d'UNION pour assembler trois ou plus de trois colonnes de taille différente (Tom)

  • Ajout du mot clé DEFAULT pour INSERT, par exemple INSERT ... (..., DEFAULT, ...) (Rod)

  • Les vues peuvent avoir des valeurs par défaut en utilisant ALTER COLUMN ... SET DEFAULT (Neil)

  • Échec en insertion (INSERT) des des listes de colonnes ne co rrespondant pas à toutes les valeurs de colonnes, par exemple INSERT INTO tab (col1, col2) VALUES ('val1'); (Rod)

  • Correction pour les alias de jointure (Tom)

  • Correction des FULL OUTER JOIN (Tom)

  • Amélioration des rapports d'identifiant invalide et d'emplacement (Tom, Gavin)

  • Correction d'OPEN cursor(args) (Tom)

  • Les 'ctid' peuvent être utilisées dans une vue et currtid(viewname) (Hiroshi)

  • Correction pour CREATE TABLE AS avec UNION (Tom)

  • Amélioration de la syntaxe SQL99 (Thomas)

  • Ajout de la variable statement_timeout pour annuler des requêtes (Bruce)

  • Autorisation des requêtes préparées avec PREPARE/EXECUTE (Neil)

  • FOR UPDATE peut apparaître après LIMIT/OFFSET (Bruce)

  • Ajout d'une variable autocommit (Tom, David Van Wie)

E.152.3.6. Manipulation d'objets

  • Rend optionnel les signes d'égalité dans CREATE DATABASE (Gavin Sherry)

  • Fait que ALTER TABLE OWNER change aussi le propriétaire de l'index (Neil)

  • Le nouveau ALTER TABLE nomtable ALTER COLUMN nom_colonne SET STORAGE contrôle le stockage de TOAST, la compression (John Gray)

  • Ajout du support du schéma, CREATE/DROP SCHEMA (Tom)

  • Création d'un schéma pour les tables temporaires (Tom)

  • Ajout de la variable search_path pour la recherche de schémas (Tom)

  • Ajout de ALTER TABLE SET/DROP NOT NULL (Christopher)

  • Nouveaux niveaux de volatilité CREATE FUNCTION (Tom)

  • Rend les noms de règles uniques seulement par table (Tom)

  • Ajout d'une clause 'ON tablename' à DROP RULE et à COMMENT ON RULE (Tom)

  • Ajout de ALTER TRIGGER RENAME (Joe)

  • Nouvelles fonctions current_schema() et current_schemas() (Tom)

  • Autorise les fonctions à renvoyer plusieurs lignes (fonctions de table) (Joe)

  • Rend WITH optionnel dans CREATE DATABASE pour rester consistant (Bruce)

  • Ajout de la conservation des dépendances d'objets (Rod, Tom)

  • Ajout de RESTRICT/CASCADE aux commandes DROP (Rod)

  • Ajout de ALTER TABLE DROP pour les cas sans CHECK CONSTRAINT (Rod)

  • Destruction automatique de la séquence lors du DROP d'une table avec SERIAL (Rod)

  • Empêche la suppression d'une colonne si celle-ci est utilisée par une clé étrangère (Rod)

  • Supprime automatiquement les contraintes/fonctions lorsqu'un objet est supprimé (Rod)

  • Ajout de CREATE/DROP OPERATOR CLASS (Bill Studenmund, Tom)

  • Ajout de ALTER TABLE DROP COLUMN (Christopher, Tom, Hiroshi)

  • Empêche les colonnes héritées d'être supprimées ou renommées (Alvaro Herrera)

  • Correction des contraintes de clés étrangères pour ne pas avoir d'erreurs sur les états intermédiaires de la base de données (Stephan)

  • Propagation du renommage de colonne ou de table pour les contraintes de clés étrangères

  • Ajout de CREATE OR REPLACE VIEW (Gavin, Neil, Tom)

  • Ajout de CREATE OR REPLACE RULE (Gavin, Neil, Tom)

  • Fait que les règles s'exécutent dans l'ordre alphabétique, renvoyant des valeurs plus prévisibles (Tom)

  • Les déclencheurs sont maintenant lancés dans l'ordre alphabétique (Tom)

  • Ajout de /contrib/adddépend pour gérer les dépendances d'objets pre-7.3 (Rod)

  • Permet une meilleure conversion lors de l'insertion et de la mise à jour des valeurs (Tom)

E.152.3.7. Commandes utilitaires

  • Fait que COPY TO affiche les retours chariots et retours à la ligne avec \r et \n (Tom)

  • Permet à DELIMITER dans COPY FROM d'être propre sur huit bits (Tatsuo)

  • Fait que pg_dump utilise ALTER TABLE ADD PRIMARY KEY pour des raisons de performance (Neil)

  • Désactivation des crochets dans les règles à plusieurs instructions (Bruce)

  • Désactivation de l'appel du VACUUM à l'intérieur d'une fonction (Bruce)

  • Autorise dropdb et d'autres scripts à utiliser des identifieurs avec des espaces (Bruce)

  • Restreint les modifications de commentaire de la base de données à la base de données courante

  • Autorise les commentaires sur les opérateurs, indépendent de la fonction sous-jacente (Rod)

  • Annule les commandes SET dans les transactions annulées (Tom)

  • EXPLAIN s'affiche maintenant comme une requête (Tom)

  • Affichage des expressions de condition et tri des clés dans EXPLAIN (Tom)

  • Ajout de 'SET LOCAL var = valeur' pour initialiser les variables pour une seule transaction (Tom)

  • Autorise le lancement d'ANALYZE dans une transaction (Bruce)

  • Amélioration de la syntaxe de COPY en utilisant les nouvelles clauses WITH, conservant ainsi la compatibilité ascendante (Bruce)

  • Correction de pg_dump pour afficher de façon consistante les balises dans les sauvegardes non ASCII (Bruce)

  • Fait que les contraintes de clés étrangères dans le fichier de sauvegarde (Rod)

  • Ajout de COMMENT ON CONSTRAINT (Rod)

  • Autorise COPY TO/FROM à spécifier les noms de colonnes (Brent Verner)

  • Sauvegarde les contraintes UNIQUE et PRIMARY KEY comme ALTER TABLE (Rod)

  • SHOW s'affiche comme le résultat d'une requête (Joe)

  • Génération d'un échec sur les lignes courtes de COPY plutôt que de rajouter des NULL (Neil)

  • Correction de CLUSTER pour préserver tous les attributs des tables (Alvaro Herrera)

  • Nouvelle table pg_settings pour visualiser/modifier les paramétrages GUC (Joe)

  • Ajout de la mise entre guillemets intelligente, amélioration sur la portabilité de la sortie de pg_dump (Peter)

  • Sauvegarde les colonnes serial comme SERIAL (Tom)

  • Activation du support des gros fichiers, >2 Go pour pg_dump (Peter, Philip Warner, Bruce)

  • Interdit TRUNCATE sur les tables qui sont impliquées dans des contraintes référentielles (Rod)

  • Fait que TRUNCATE tronque aussi automatiquement la table toast de la relation (Tom)

  • Ajout de l'outil clusterdb qui groupera automatiquement une base de données entière en se basant sur les opérations CLUSTER précédentes (Alvaro Herrera)

  • Revue de pg_dumpall (Peter)

  • Autorise le REINDEX des tables TOAST (Tom)

  • Implémentation de START TRANSACTION, suivant SQL99 (Neil)

  • Correction des rares corruptions d'index lorsqu'une division de page affecte la suppression en masse (Tom)

  • Correction de l'héritage sur ALTER TABLE ... ADD COLUMN (Alvaro Herrera)

E.152.3.8. Types de données et fonctions

  • Correction pour que factorial(0) renvoie 1 (Bruce)

  • Améliorations des types date/time/timezone (Thomas)

  • Correction pour l'extraction d'un morceau de tableau (Tom)

  • Correction de extract/date_part pour rapporter les bonnes microsecondes sur des valeurs de type timestamp (Tatsuo)

  • Autorise text_substr() et bytea_substr() à lire des valeurs TOAST de façon plus efficace (John Gray)

  • Ajout du support du domaine (Rod)

  • Fait que WITHOUT TIME ZONE est la valeur par défaut des types de données TIMESTAMP et TIME data (Thomas)

  • Autorise un autre schéma de stockage des entiers sur 64 bits pour les types date/time en utilisant --enable-integer-datetimes dans configure (Thomas)

  • Fait que timezone(timestamptz) renvoie timestamp plutôt que string (Thomas)

  • Autorise les secondes fractionnées dans les types date/time pour les dates datant de l'an 1 avant JC (Thomas)

  • Limite les types de données timestamp à six places décimales pour la précision (Thomas)

  • Modification des fonctions de conversion timezone de timetz() à timezone() (Thomas)

  • Ajout des variables de configuration datestyle et timezone (Tom)

  • Ajout d'OVERLAY(), qui autorise la substitution d'une sous-chaîne dans une chaîne (Thomas)

  • Ajout de SIMILAR TO (Thomas, Tom)

  • Ajout d'un SUBSTRING(chaîne FROM modele FOR échappement) utilisant les expressions rationnelles (Thomas)

  • Ajout des fonctions LOCALTIME et LOCALTIMESTAMP (Thomas)

  • Ajout des types composés nommés utilisant CREATE TYPE nom_type AS (column) (Joe)

  • Autorise la définition d'un type composé dans la clause alias d'une table (Joe)

  • Ajout d'une nouvelle API pour simplifier la création de fonctions de table en langage C (Joe)

  • Supprime les parenthèses vides compatible ODBC des appels de fonctions SQL99 si elles ne sont pas compatibles avec le standard (Thomas)

  • Le type de données macaddr accepte 12 chiffres hexadécimaux sans séparateurs (Mike Wyer)

  • Ajout de CREATE/DROP CAST (Peter)

  • Ajout de l'opérateur IS DISTINCT FROM (Thomas)

  • Ajout de la fonction SQL99 TREAT(), synonyme de CAST() (Thomas)

  • Ajout de pg_backend_pid() pour afficher le pid du serveur (Bruce)

  • Ajout du prédicat IS OF / IS NOT OF (Thomas)

  • Autorise les constantes de type chaîne de bits sans une longueur définie (Thomas)

  • Autorise la conversion entre les entiers à huit octets et les chaînes de bit (Thomas)

  • Implémente la conversion littérale en hexadécimale vers un littéral de type chaîne de bits (Thomas)

  • Autorise l'apparition des fonctions de table dans la clause FROM (Joe)

  • Augmente le nombre maximum de paramètres de fonctions à 32 (Bruce)

  • Ne crée plus automatiquement un index pour les colonnes SERIAL (Tom)

  • Ajout de current_database() (Rod)

  • Correction de cash_words() pour ne pas avoir de dépassement de tampons (Tom)

  • Ajout des fonctions replace(), split_part(), to_hex() (Joe)

  • Correction de LIKE pour bytea en argument du côté droit (Joe)

  • Empêche les arrêt brutaux causés par SELECT cash_out(2) (Tom)

  • Correction de to_char(1,'FM999.99') pour qu'elle renvoie un point (Karel)

  • Correction des fonctions trigger/type/language renvoyant OPAQUE pour qu'elles renvoient un type correct (Tom)

E.152.3.9. Internationalisation

  • Ajout de codages supplémentaires : Koréen (JOHAB), Thai (WIN874), Vietnamien (TCVN), Arabe (WIN1256), Chinois Simplifié (GBK), Koréen (UHC) (Eiji Tokuya)

  • Activation par défaut du support de la locale (Peter)

  • Ajout des variables locale (Peter)

  • Échappement des octets >= 0x7f pour le multioctet dans PQescapeBytea/PQunescapeBytea (Tatsuo)

  • Ajout de la prise en compte de la locale dans les classes de caractères des expressions rationnelles

  • Activation par défaut du support multioctets (Tatsuo)

  • Ajout du support multioctets GB18030 (Bill Huang)

  • Ajout de CREATE/DROP CONVERSION, permettant les locales chargeables (Tatsuo, Kaori)

  • Ajout de la table pg_conversion (Tatsuo)

  • Ajout de la fonction SQL99 CONVERT() (Tatsuo)

  • pg_dumpall, pg_controldata et pg_resetxlog sont maintenant au courant de la langue nationale (Peter)

  • Nouvelles traductions et mises à jour

E.152.3.10. Langages du côté serveur

  • Autorise les fonctions récursives SQL (Peter)

  • Modification de la construction de PL/Tcl pour utiliser le compilateur configuré et Makefile.shlib (Peter)

  • Refonte de la variable FOUND PL/pgSQL pour être encore plus compatible avec Oracle (Neil, Tom)

  • Autorise PL/pgSQL à gérer les identifieurs entre guillemets (Tom)

  • Autorisation des fonctions PL/pgSQL renvoyant des ensembles de résultats (Neil)

  • PL/pgSQL connait les schémas (Joe)

  • Suppression de quelques pertes mémoires (Nigel J. Andrews, Tom)

E.152.3.11. psql

  • Ne met plus en minuscule les noms de bases de données indiqués avec \connect pour une compatibilité avec la 7.2.0 (Tom)

  • Ajout de \timing pour chronométrer les requêtes utilisateur (Greg Sabino Mullane)

  • Fait que \d affiche des informations sur les index (Greg Sabino Mullane)

  • Le nouveau \dD affiche les domaines (Jonathan Eisler)

  • Permet à psql d'afficher les règles sur les vues (Paul ?)

  • Correction pour la substitution des variables avec psql (Tom)

  • Autorise l'affichage de la structure des tables temporaires avec \d (Tom)

  • Autorise l'affichage les clés étrangères avec \d (Rod)

  • Correction de \? pour honorer l'afficheur page par page avec \pset (Bruce)

  • Fait que psql rapporte son numéro de version au lancement (Tom)

  • Autorise la spécification des noms de colonnes avec \copy (Tom)

E.152.3.12. libpq

  • Ajout de ~/.pgpass pour stocker la combinaison hôte /mot de passe de l'utilisateur (Alvaro Herrera)

  • Ajout de la fonction PQunescapeBytea() à libpq (Patrick Welche)

  • Correction pour l'envoi de grandes requêtes sur des connexions non bloquantes (Bernhard Herzog)

  • Correction pour l'utilisation de timers par libpq sur Win9X (David Ford)

  • Autorisation pour que le notify de libpq gère des serveurs avec des identifieurs de longueurs différentes (Tom)

  • Ajout de PQescapeString() et PQescapeBytea() dans libpq pour Windows (Bruce)

  • Correction pour SSL avec les connexions non bloquantes (Jack Bates)

  • Ajout d'un paramètre de déconnexion automatique au bout d'un certain temps sans activité (Denis A Ustimenko)

E.152.3.13. JDBC

  • JDBC se compile avec le JDK 1.4 (Dave)

  • Ajout du support JDBC 3 (Barry)

  • Autorise JDBC à configurer le niveau des traces en ajoutant ?loglevel=X à l'URL de connexion (Barry)

  • Ajout du message Driver.info() qui affiche le numéro de version (Barry)

  • Ajout des ensembles de résultats en lecture/écriture (Raghu Nidagal, Dave)

  • Ajout du support pour les instructions appellables (Paul Bethe)

  • Ajout de la possibilité d'annulation d'une requête

  • Ajout du rafraîchissement d'une ligne (Dave)

  • Correction du cryptage MD5 pour gérer les serveurs multibyte (Jun Kawai)

  • Ajout du support pour les instructions préparées (Barry)

E.152.3.14. Interfaces diverses

  • Correction d'un bogue ECPG concernant les nombres en octal avec les guillemets simples (Michael)

  • Déplacement de src/interfaces/libpgeasy dans http://gborg.postgresql.org (Marc, Bruce)

  • Amélioration de l'interface Python (Elliot Lee, Andrew Johnson, Greg Copeland)

  • Ajout de l'événement de fermeture de la connexion dans libpgtcl (Gerhard Hintermayer)

  • Déplacement de src/interfaces/libpq++ dans http://gborg.postgresql.org (Marc, Bruce)

  • Déplacement de src/interfaces/odbc dans http://gborg.postgresql.org (Marc)

  • Déplacement de src/interfaces/libpgeasy dans http://gborg.postgresql.org (Marc, Bruce)

  • Déplacement de src/interfaces/perl5 dans http://gborg.postgresql.org (Marc, Bruce)

  • Suppression de src/bin/pgaccess des sources, maintenant sur http://www.pgaccess.org (Bruce)

  • Ajout de la commande pg_on_connection_loss à libpgtcl (Gerhard Hintermayer, Tom)

E.152.3.15. Code source

  • Correction pour un make parallèle (Peter)

  • Corrections spécifiques pour AIX lors de l'édition des liens avec Tcl (Andreas Zeugswetter)

  • Permet à PL/Perl d'être construit avec Cygwin (Jason Tishler)

  • Amélioration des compilations MIPS (Peter, Oliver Elphick)

  • Requiert Autoconf version 2.53 (Peter)

  • Requiert readline et zlib par défaut dans configure (Peter)

  • Permet l'utilisation de « Intimate Shared Memory » (ISM) par Solaris pour des raisons de performances (Scott Brunza, P.J. Josh Rovero)

  • Activation permanente de syslog dans la compilation, suppression de l'option --enable-syslog (Tatsuo)

  • Activation permanente du multi-octets dans la compilation, suppression de l'option --enable-multibyte (Tatsuo)

  • Activation permanente de la locale dans la compilation, suppression de l'option --enable-locale (Peter)

  • Correction pour la création des DLL Win9x (Magnus Naeslund)

  • Correction pour l'utilisation de link() par le code WAL sur Windows, BeOS (Jason Tishler)

  • Ajout de sys/types.h à c.h, suppression à partir des fichiers principaux (Peter, Bruce)

  • Correction d'un blocage sur les machines SMP sous AIX (Tomoyuki Niijima)

  • Correction d'un autre blocage SMP sur AIX (Tomoyuki Niijima)

  • Correction de la gestion de dates avant 1970 sur les nouvelles bibliothèques glibc (Tom)

  • Correction du verrour sur les PowerPC SMP (Tom)

  • Empêche gcc -ffast-math d'être utilisé (Peter, Tom)

  • Bison >= 1.50 est maintenant requis pour les constructions développeur

  • Le support Kerberos 5 se construit maintenant avec Heimdal (Peter)

  • Ajout de l'appendice dans le guide utilisateur qui liste toutes les fonctionnalités SQL (Thomas)

  • Amélioration de l'édition des liens des modules chargeables pour utiliser RTLD_NOW (Tom)

  • Nouveaux niveaux d'erreurs WARNING, INFO, LOG, DEBUG[1-5] (Bruce)

  • Le nouveau répertoire src/port contient les fonctions remplacées de la libc (Peter, Bruce)

  • Nouveau catalogue système pg_namespace pour les schémas (Tom)

  • Ajout de pg_class.relnamespace pour les schémas (Tom)

  • Ajout de pg_type.typnamespace pour les schémas (Tom)

  • Ajout de pg_proc.pronamespace pour les schémas (Tom)

  • Restructuration des agrégats pour disposer des entrées de pg_proc (Tom)

  • Les relations système ont maintenant leur propre espace de noms, le test pg_* n'est plus requis (Fernando Nasser)

  • Renommage des noms d'index TOAST pour être *_index au lieu de *_idx (Neil)

  • Ajout des espaces de noms pour les opérateurs et les classes d'opérateurs (Tom)

  • Ajout de vérifications supplémentaires pour le fichier de contrôle du serveur (Thomas)

  • Nouvelle FAQ polonaise (Marcin Mazurek)

  • Ajout du support des sémaphores Posix (Tom)

  • Document nécessaire pour reindex (Bruce)

  • Renommage de quelques identifieurs internes pour simplifier la compilation Windows (Jan, Katherine Ward)

  • Ajout de documentation sur l'espace de disque (Bruce)

  • Suppression de KSQO de GUC (Bruce)

  • Correction d'une perte mémoire dans rtree (Kenneth Been)

  • Modification de quelques messages d'erreur pour la cohérence (Bruce)

  • Suppression des colonnes de tables système non utilisées (Peter)

  • Colonnes système NOT NULL lorsqu'appropriées (Tom)

  • Nettoyage de l'utilisation de sprintf à la place de snprintf() (Neil, Jukka Holappa)

  • Suppression d'OPAQUE et création de sous-types spécifiques (Tom)

  • Nettoyages de la gestion interne des tableaux (Joe, Tom)

  • Interdiction de pg_atoi('') (Bruce)

  • Suppression du paramètres wal_files car les fichiers WAL sont maintenant recyclés (Bruce)

  • Ajout des numéros de version dans les pages d'en-tête (Tom)

E.152.3.16. Contrib

  • Autorise les tableaux d'inet dans /contrib/array (Neil)

  • Corrections pour GiST (Teodor Sigaev, Neil)

  • Mise à jour de /contrib/mysql

  • Ajout de /contrib/dbsize pour afficher la taille des tables sans vacuum (Peter)

  • Ajout de /contrib/intagg, routines d'agrégat des entiers (mlw)

  • Amélioration de /contrib/oid2name (Neil, Bruce)

  • Amélioration de /contrib/tsearch (Oleg, Teodor Sigaev)

  • Nettoyage de /contrib/rserver (Alexey V. Borzov)

  • Mise à jour de l'outil /contrib/oracle conversion (Gilles Darold)

  • Mise à jour de /contrib/dblink (Joe)

  • Amélioration des options supportées par /contrib/vacuumlo (Mario Weilguni)

  • Amélioration de /contrib/intarray (Oleg, Teodor Sigaev, Andrey Oktyabrski)

  • Ajout de l'outil /contrib/reindexdb (Shaun Thomas)

  • Ajout de l'indexage dans /contrib/isbn_issn (Dan Weston)

  • Ajout de /contrib/dbmirror (Steven Singer)

  • Amélioration de /contrib/pgbench (Neil)

  • Ajout des exemples de fonctions de table /contrib/tablefunc (Joe)

  • Ajout du type de données pour les structures en arbre /contrib/ltree (Teodor Sigaev, Oleg Bartunov)

  • Déplacement de /contrib/pg_controldata, pg_resetxlog dans le répertoire principal des sources (Bruce)

  • Correction à /contrib/cube (Bruno Wolff)

  • Amélioration de /contrib/fulltextindex (Christopher)