[Trad] [svn:pgfr] r1344 - in traduc/trunk/postgresql: . ref

admin at listes.postgresql.fr admin at listes.postgresql.fr
Ven 12 Juin 23:17:42 CEST 2009


Author: gleu
Date: 2009-06-12 23:17:42 +0200 (Fri, 12 Jun 2009)
New Revision: 1344

Modified:
   traduc/trunk/postgresql/backup.xml
   traduc/trunk/postgresql/charset.xml
   traduc/trunk/postgresql/client-auth.xml
   traduc/trunk/postgresql/config.xml
   traduc/trunk/postgresql/cube.xml
   traduc/trunk/postgresql/datatype.xml
   traduc/trunk/postgresql/dblink.xml
   traduc/trunk/postgresql/ecpg.xml
   traduc/trunk/postgresql/func.xml
   traduc/trunk/postgresql/information_schema.xml
   traduc/trunk/postgresql/installation.xml
   traduc/trunk/postgresql/intarray.xml
   traduc/trunk/postgresql/isn.xml
   traduc/trunk/postgresql/libpq.xml
   traduc/trunk/postgresql/maintenance.xml
   traduc/trunk/postgresql/nls.xml
   traduc/trunk/postgresql/pageinspect.xml
   traduc/trunk/postgresql/pgbuffercache.xml
   traduc/trunk/postgresql/pgcrypto.xml
   traduc/trunk/postgresql/pgrowlocks.xml
   traduc/trunk/postgresql/pgstatstatements.xml
   traduc/trunk/postgresql/pgstattuple.xml
   traduc/trunk/postgresql/ref/declare.xml
   traduc/trunk/postgresql/release-8.4.xml
   traduc/trunk/postgresql/seg.xml
   traduc/trunk/postgresql/sources.xml
   traduc/trunk/postgresql/storage.xml
   traduc/trunk/postgresql/trigger.xml
   traduc/trunk/postgresql/version.xml
   traduc/trunk/postgresql/xfunc.xml
   traduc/trunk/postgresql/xml2.xml
Log:
Merge pour la 8.4-RC1.


Modified: traduc/trunk/postgresql/backup.xml
===================================================================
--- traduc/trunk/postgresql/backup.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/backup.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -1422,7 +1422,6 @@
 psql -c "select pg_start_backup('hot_backup');"
 tar -cf /var/lib/pgsql/backup.tar /var/lib/pgsql/data/
 psql -c "select pg_stop_backup();"
-sleep 20
 rm /var/lib/pgsql/backup_in_progress
 tar -rf /var/lib/pgsql/backup.tar /var/lib/pgsql/archive/
 </programlisting>

Modified: traduc/trunk/postgresql/charset.xml
===================================================================
--- traduc/trunk/postgresql/charset.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/charset.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -911,7 +911,7 @@
         <row>
          <entry><literal>ISO_8859_5</literal></entry>
          <entry><emphasis>ISO_8859_5</emphasis>,
-         <literal>KOI8</literal>,
+         <literal>KOI8R</literal>,
          <literal>MULE_INTERNAL</literal>,
          <literal>UTF8</literal>,
          <literal>WIN866</literal>,
@@ -943,8 +943,8 @@
          </entry>
         </row>
         <row>
-         <entry><literal>KOI8</literal></entry>
-         <entry><emphasis>KOI8</emphasis>,
+         <entry><literal>KOI8R</literal></entry>
+         <entry><emphasis>KOI8R</emphasis>,
          <literal>ISO_8859_5</literal>,
          <literal>MULE_INTERNAL</literal>,
          <literal>UTF8</literal>,
@@ -952,7 +952,13 @@
          <literal>WIN1251</literal>
          </entry>
         </row>
-        <row> 
+        <row>
+         <entry><literal>KOI8U</literal></entry>
+         <entry><emphasis>KOI8U</emphasis>,
+         <literal>UTF8</literal>
+         </entry>
+        </row>
+        <row>
          <entry><literal>LATIN1</literal></entry>
          <entry><emphasis>LATIN1</emphasis>,
          <literal>MULE_INTERNAL</literal>,
@@ -1026,7 +1032,7 @@
           <literal>EUC_KR</literal>,
           <literal>EUC_TW</literal>,
           <literal>ISO_8859_5</literal>,
-          <literal>KOI8</literal>,
+          <literal>KOI8R</literal>,
           <literal>LATIN1</literal> vers <literal>LATIN4</literal>,
           <literal>SJIS</literal>,
           <literal>WIN866</literal>,
@@ -1058,7 +1064,7 @@
          <entry><literal>WIN866</literal></entry>
          <entry><emphasis>WIN866</emphasis>,
           <literal>ISO_8859_5</literal>,
-          <literal>KOI8</literal>,
+          <literal>KOI8R</literal>,
           <literal>MULE_INTERNAL</literal>,
           <literal>UTF8</literal>,
           <literal>WIN1251</literal>
@@ -1082,7 +1088,7 @@
          <entry><literal>WIN1251</literal></entry>
          <entry><emphasis>WIN1251</emphasis>,
           <literal>ISO_8859_5</literal>,
-          <literal>KOI8</literal>,
+          <literal>KOI8R</literal>,
           <literal>MULE_INTERNAL</literal>,
           <literal>UTF8</literal>,
           <literal>WIN866</literal>

Modified: traduc/trunk/postgresql/client-auth.xml
===================================================================
--- traduc/trunk/postgresql/client-auth.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/client-auth.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -210,7 +210,7 @@
      <listitem>
       <para>
       Indique la plage d'adresses IP client à laquelle correspond cet
-      enregistrement. Il contient une adresse IP dans la notation décimale
+      enregistrement. Ce champ contient une adresse IP dans la notation décimale
       standard et une longueur de masque CIDR (les adresses IP
       ne peuvent qu'être indiquées numériquement, pas en tant que
       nom d'hôte ou de domaine). La longueur du masque indique le nombre de
@@ -315,9 +315,8 @@
           Requiert que le client fournisse un mot de passe non chiffré pour
 	  l'authentification. Comme le mot de passe est envoyé en clair sur
 	  le réseau, ceci ne doit pas être utilisé sur des réseaux non
-	  dignes de confiance. De plus, cette option ne fonctionne pas avec
-	  les applications client qui utilisent les threads. Voir la
-	  <xref linkend="auth-password"/> pour les détails.
+	  dignes de confiance. Voir la <xref linkend="auth-password"/> pour
+	  les détails.
 	 </para>
 	</listitem>
        </varlistentry>
@@ -362,10 +361,8 @@
 	  Récupère le nom de l'utilisateur du système d'exploitation du client
 	  (pour les connexions TCP/IP en contactant le serveur d'identification
 	  sur le client, pour les connexions locales en l'obtenant du système
-	  d'exploitation) et vérifie si l'utilisateur est autorisé à se
-	  connecter avec l'utilisateur de base de données indiqué en
-	  consultant la correspondance indiquée après le mot clé
-	  <literal>ident</literal>. Voir la <xref linkend="auth-ident"/>
+	  d'exploitation) et vérifie it matches the requested
+          database user name. Voir la <xref linkend="auth-ident"/>
 	  ci-dessous pour les détails.
 	 </para>
 	</listitem>
@@ -375,7 +372,7 @@
         <term><literal>ldap</literal></term>
         <listitem>
          <para>
-          Authentification par LDAP sur serveur central. Voir la
+          Authentification par un serveur LDAP. Voir la
 	  <xref linkend="auth-ldap"/> pour les détails.
          </para>
         </listitem>
@@ -410,10 +407,10 @@
     <term><replaceable>auth-options</replaceable></term>
      <listitem>
       <para>
-       Ce champ contient zéro ou plus de paires nom-valeur avec des options
-       supplémentaires passées à la méthode d'authentification. Les détails sur
-       ces options sont disponibles auprès de la description de chaque méthode
-       d'authentification, ci-dessous.
+       After the <replaceable>auth-method</replaceable> field, there can be field(s) of
+       the form <replaceable>name</replaceable><literal>=</literal><replaceable>value</replaceable> that
+       specify options for the authentication method. Details about which
+       options are available for which authentication method appear below.
       </para>
      </listitem>
     </varlistentry>
@@ -484,7 +481,7 @@
 # La même chose en utilisant les connexions TCP/IP locales loopback.
 #
 # TYPE  DATABASE    USER        CIDR-ADDRESS        METHOD
-host    all         all         127.0.0.1/32        trust
+host    all         all         127.0.0.1/32          trust
 
 # Pareil mais en utilisant une colonne netmask distincte.
 #
@@ -561,19 +558,18 @@
    peut ne pas être le même que celui de l'utilisateur de la base à laquelle il
    tente de se connecter. Dans ce cas, une table de correspondance d'identités
    peut être mise en place pour faire correspondre le nom d'utilisateur système
-   au nom d'utilisateur base de donnée, en utilisant le fichier
-   <filename>pg_ident.conf</filename>. Afin d'utiliser une table de correspondance
+   au nom d'utilisateur base de donnée. Pour utiliser une table de correspondance
    d'identités, spécifiez <literal>map</literal>=<replaceable>nom-table</replaceable>
    dans le champ options de <filename>pg_hba.conf</filename>. Cette option est supportée
    pour toutes les méthodes d'authentification qui reçoivent des noms d'utilisateurs
-   externes. Comme le fichier <filename>pg_ident.conf</filename> peut contenir plusieurs
-   tables, le nom de la table à utiliser doit être spécifié dans le paramètre
+   externes. Comme différentes correspondances peuvent être nécessaires pour différentes
+   connexions, le nom de la table à utiliser doit être spécifié dans le paramètre
    <replaceable>nom-table</replaceable> de <filename>pg_hba.conf</filename> afin
    d'indiquer quelle table utiliser pour chaque connexion.
   </para>
 
   <para>
-   Les tables de correspondance d'identité sont définies dans le fichier de
+   Les tables de correspondance de noms d'utilisateurs sont définies dans le fichier de
    correspondance, qui par défaut s'appelle
    <filename>pg_ident.conf</filename><indexterm><primary>pg_ident.conf</primary></indexterm>
    et est stocké dans le répertoire de données du cluster. (Toutefois, il est
@@ -587,30 +583,52 @@
    Les commentaires et les blancs sont traités de la même façon que dans
    <filename>pg_hba.conf</filename>. Le <replaceable>nom-table</replaceable> est un
    nom arbitraire qui sera utilisé pour faire référence à cette table de correspondance dans
-   <filename>pg_hba.conf</filename>. Les deux autres champs indiquent quel utilisateur
-   système a le droit de se connecter en tant que tel utilisateur de base de données.
-   Le même <replaceable>nom-table</replaceable> peut être utilisé plusieurs fois pour
-   spécifier plusieurs correpondances d'identités dans une même table.
-   Il n'y a pas de restriction sur le nombre de correspondances qu'un utilisateur système
-   peut avoir vers des utilisateurs de bases de données, ni le contraire.
+   <filename>pg_hba.conf</filename>. Les deux autres fields specify an operating system user name and a matching
+   database user name. The same <replaceable>map-name</replaceable> can be
+   used repeatedly to specify multiple user-mappings within a single map.
   </para>
   
   <para>
-   Si le champ <replaceable>nom-d-utilisateur-systeme</replaceable> commence
-   avec un slash (<literal>/</literal>), le contenu du champ est traité comme
-   une expression rationnelle. Cette expression rationnelle autorise une
-   capture unique, qui peut ensuite être accédée via une référence arrière par
-   <literal>\1</literal> (antislash-un). Cela permet la correspondance entre
-   noms de différente syntaxe en une seule ligne.
-   <programlisting>
-matable   /(.*)@mondomaine.com   \1
-matable   /(.*)@autredomaine.com invite
-   </programlisting>
-   supprimera la partie domaine pour les utilisateurs de nom système @mondomaine.com,
-   et permettra aux utilisateurs de @autredomaine.com de se connecter en tant
-   qu'invité.
+   There is no restriction regarding how many database users a given
+   operating system user can correspond to, nor vice versa.  Thus, entries
+   in a map should be thought of as meaning <quote>this operating system
+   user is allowed to connect as this database user</quote>, rather than
+   implying that they are equivalent.  The connection will be allowed if
+   there is any map entry that matches the user name obtained from the
+   external authentication system to the database user name that the
+   user has requested to connect as.
   </para>
+  
+  <para>
+   If the <replaceable>system-username</replaceable> field starts with a slash (<literal>/</literal>),
+   the remainder of the field is treated as a regular expression.
+   (See <xref linkend="posix-syntax-details"/> for details of
+   <productname>PostgreSQL</productname>'s regular expression syntax.
+   Regular expressions in username maps are always treated as being
+   <quote>advanced</quote> flavor.)  The regular
+   expression can include a single capture, or parenthesized subexpression,
+   which can then be referenced in the <replaceable>database-username</replaceable>
+   field as <literal>\1</literal> (backslash-one).  This allows the mapping of
+   multiple usernames in a single line, which is particularly useful for
+   simple syntax substitutions.  For example, these entries
+<programlisting>
+mymap   /^(.*)@mydomain\.com$      \1
+mymap   /^(.*)@otherdomain\.com$   guest
+</programlisting>
+   will remove the domain part for users with system usernames that end with
+   <literal>@mydomain.com</literal>, and allow any user whose system name ends with
+   <literal>@otherdomain.com</literal> to log in as <literal>guest</literal>.
+  </para>
 
+  <tip>
+   <para>
+    Keep in mind that by default, a regular expression can match just part of
+    a string.  It's usually wise to use <literal>^</literal> and <literal>$</literal>, as
+    shown in the above example, to force the match to be to the entire
+    system username.
+   </para>
+  </tip>
+
   <para>
    Le fichier <filename>pg_ident.conf</filename> est lu au démarrage et
    quand le processus principal du serveur reçoit un signal
@@ -640,7 +658,7 @@
   <example id="example-pg-ident.conf">
    <title>Un exemple de fichier <filename>pg_ident.conf</filename></title>
 <programlisting>
-# MAPNAME     IDENT-USERNAME    PG-USERNAME
+# MAPNAME     SYSTEM-USERNAME   PG-USERNAME
 
 omicron       bryanh            bryanh
 omicron       ann               ann
@@ -665,8 +683,8 @@
     Quand l'authentification <literal>trust</literal> est utilisée,
     <productname>PostgreSQL</productname> considère que quiconque peut se
     connecter au serveur est autorisé à accéder à la base de données quel que
-    soit le nom d'utilisateur de bases de données qu'il fournit (ce qui
-    inclut les super-utilisateurs). Les restrictions apportées dans les
+    soit le nom d'utilisateur de bases de données qu'il fournit (même les noms
+    des super-utilisateurs). Les restrictions apportées dans les
     colonnes <literal>database</literal> et <literal>user</literal>
     continuent évidemment de s'appliquer. Cette méthode ne doit être utilisée
     que si le système assure un contrôle adéquat des connexions au serveur.
@@ -690,8 +708,9 @@
 
    <para>
     Le réglage des droits du système de fichiers n'a d'intérêt que le cas de
-    connexions par les sockets Unix. Cela ne restreint pas les connexions
-    TCP/IP locales&nbsp;; ainsi, pour utiliser les droits du système de
+    connexions par les sockets Unix. Les droits du système de fichiers ne
+    restreignent pas les connexions TCP/IP locales. Ainsi, pour utiliser les
+    droits du système de
     fichiers pour assurer la sécurité locale, il faut supprimer la ligne
     <literal>host ...127.0.0.1 ...</literal> de
     <filename>pg_hba.conf</filename> ou la modifier pour utiliser une méthode
@@ -737,8 +756,12 @@
     S'il existe un risque d'attaque par <quote>interception (sniffing)</quote>
     des mots de passe, il est préférable d'utiliser <literal>md5</literal>.
     L'utilisation de <literal>password</literal>, en clair, est toujours à
-    éviter quand c'est possible. <literal>md5</literal> ne peut pas être
-    utilisé avec <xref linkend="guc-db-user-namespace"/>.
+    éviter quand c'est possible. Néanmoins, <literal>md5</literal> ne peut pas
+    être utilisé avec la fonctionnalité <xref linkend="guc-db-user-namespace"/>.
+    If the connection is
+    protected by SSL encryption then <literal>password</literal> can be used
+    safely (though SSL certificate authentication might be a better
+    choice if one is depending on using SSL).
    </para>
 
    <para>
@@ -793,7 +816,7 @@
     <productname>GSSAPI</productname>&nbsp;:
    <variablelist>
      <varlistentry>
-      <term>map</term>
+      <term><literal>map</literal></term>
       <listitem>
        <para>
         Permet la mise en correspondance entre les noms système et base de données.
@@ -803,24 +826,25 @@
      </varlistentry>
 
      <varlistentry>
-      <term>include_realm</term>
+      <term><literal>include_realm</literal></term>
       <listitem>
        <para>
-        Inclut le nom du royaume principal de l'utilisateur authentifié. C'est
-        utilisé en combinaison avec des correspondances d'identités (voir
-        <xref linkend="auth-username-maps"/> pour plus de détails), tout
-	particulièrement avec des expressions rationnelles, afin de mettre en
-	correspondance des utilisateurs provenant de plusieurs royaumes.
+        If set to <literal>1</literal>, the realm name from the authenticated user
+        principal is included in the system user name that's passed through
+        username mapping (<xref linkend="auth-username-maps"/>). This is
+        useful for handling users from multiple realms.
        </para>
       </listitem>
      </varlistentry>
 
      <varlistentry>
-      <term>krb_realm</term>
+      <term><literal>krb_realm</literal></term>
       <listitem>
        <para>
-        Précise le royaume sur lequel rechercher les noms principaux. Si ce
-	paramètre n'est pas positionné, le royaume de l'utilisateur sera ignoré.
+        Sets the realm to match user principal names against. If this parameter
+        is set, only users of that realm will be accepted.  If it is not set,
+        users of any realm can connect, subject to whatever username mapping
+        is done.
        </para>
       </listitem>
      </varlistentry>
@@ -860,7 +884,7 @@
     <productname>SSPI</productname>&nbsp;:
     <variablelist>
      <varlistentry>
-      <term>map</term>
+      <term><literal>map</literal></term>
       <listitem>
        <para>
         Permet la mise en correspondance entre les noms système et base de données.
@@ -870,24 +894,25 @@
      </varlistentry>
 
      <varlistentry>
-      <term>include_realm</term>
+      <term><literal>include_realm</literal></term>
       <listitem>
        <para>
-        Inclut le nom du royaume principal de l'utilisateur authentifié. C'est
-        utilisé en combinaison avec des correspondances d'identités (voir
-        <xref linkend="auth-username-maps"/> pour plus de détails), tout
-	particulièrement avec des expressions rationnelles, afin de mettre en
-	correspondance des utilisateurs provenant de plusieurs royaumes.
+        If set to <literal>1</literal>, the realm name from the authenticated user
+        principal is included in the system user name that's passed through
+        username mapping (<xref linkend="auth-username-maps"/>). This is
+        useful for handling users from multiple realms.
        </para>
       </listitem>
      </varlistentry>
 
      <varlistentry>
-      <term>krb_realm</term>
+      <term><literal>krb_realm</literal></term>
       <listitem>
        <para>
-        Précise le royame sur lequel rechercher les noms principaux. Si ce paramètre
-        n'est pas positionné, le royaume de l'utilisateur sera ignoré.
+        Sets the realm to match user principal names against. If this parameter
+        is set, only users of that realm will be accepted.  If it is not set,
+        users of any realm can connect, subject to whatever username mapping
+        is done.
        </para>
       </listitem>
      </varlistentry>
@@ -946,7 +971,7 @@
     aussi <xref linkend="libpq-connect"/>). La valeur par défaut à
     l'installation, <literal>postgres</literal>, peut être modifiée lors
     de la construction avec
-    <literal>./configure --with-krb-srvnam=quelquechose</literal>. Dans la
+    <literal>./configure --with-krb-srvnam=</literal><replaceable>quelquechose</replaceable>. Dans la
     plupart des environnements, il est inutile de modifier cette valeur.
     Néanmoins, pour supporter
     plusieurs installations de <productname>PostgreSQL</productname> sur le même hôte,
@@ -967,10 +992,14 @@
     Les principaux (clients) doivent contenir le nom de leur utilisateur
     <productname>PostgreSQL</productname> comme premier composant,
     <literal>nomutilisateurpg at domaine</literal>, par exemple.
+    Alternatively, you can use a username
+    mapping to map from the first component of the principal name to the
+    database user name. 
     Par défaut, le domaine du client n'est pas vérifié par
     <productname>PostgreSQL</productname>. Si l'authentification inter-domaine
     (<foreignphrase>cross-realm</foreignphrase>) est activée, on utilise le
-    paramètre krb_realm dans <filename>pg_hba.conf</filename>.
+    paramètre <literal>krb_realm</literal>, or enable <literal>include_realm</literal>
+    and use username mapping to check the realm.
    </para>
 
    <para>
@@ -1018,7 +1047,7 @@
     <productname>Kerberos</productname>&nbsp;:
     <variablelist>
      <varlistentry>
-      <term>map</term>
+      <term><literal>map</literal></term>
       <listitem>
        <para>
         Permet la mise en correspondance entre les noms système et base de données.
@@ -1028,30 +1057,31 @@
      </varlistentry>
 
      <varlistentry>
-      <term>include_realm</term>
+      <term><literal>include_realm</literal></term>
       <listitem>
        <para>
-        Inclut le nom du royaume principal de l'utilisateur authentifié. C'est
-        utilisé en combinaison avec des correspondances d'identités (voir
-        <xref linkend="auth-username-maps"/> pour plus de détails), tout
-	particulièrement avec des expressions rationnelles, afin de mettre en
-	correspondance des utilisateurs provenant de plusieurs royaumes.
+        If set to <literal>1</literal>, the realm name from the authenticated user
+        principal is included in the system user name that's passed through
+        username mapping (<xref linkend="auth-username-maps"/>). This is
+        useful for handling users from multiple realms.
        </para>
       </listitem>
      </varlistentry>
 
      <varlistentry>
-      <term>krb_realm</term>
+      <term><literal>krb_realm</literal></term>
       <listitem>
        <para>
-        Précise le royaume sur lequel rechercher les noms principaux. Si ce paramètre
-        n'est pas positionné, le royaume de l'utilisateur sera ignoré.
+        Sets the realm to match user principal names against. If this parameter
+        is set, only users of that realm will be accepted.  If it is not set,
+        users of any realm can connect, subject to whatever username mapping
+        is done.
        </para>
       </listitem>
      </varlistentry>
 
      <varlistentry>
-      <term>krb_server_hostname</term>
+      <term><literal>krb_server_hostname</literal></term>
       <listitem>
        <para>
         Précise le nom d'hôte du service principal. Cela, combiné avec
@@ -1073,11 +1103,8 @@
 
    <para>
     La méthode d'authentification par ident fonctionne en obtenant les noms
-    des utilisateurs du système d'exploitation, puis en déterminant de façon
-    optionnelle les noms
-    des utilisateurs de bases de données autorisés à l'aide d'un fichier
-    de correspondance qui liste les paires autorisées de concordance de
-    noms. La résolution du nom d'utilisateur du client est le point de sécurité
+    des utilisateurs du système d'exploitation, and using it as the allowed database user
+    name (with an optional username mapping). La résolution du nom d'utilisateur du client est le point de sécurité
     critique. Elle fonctionne différemment selon le type de connexion.
    </para>
 
@@ -1086,7 +1113,7 @@
     <productname>ident</productname>&nbsp;:
     <variablelist>
      <varlistentry>
-      <term>map</term>
+      <term><literal>map</literal></term>
       <listitem>
        <para>
         Permet la mise en correspondance entre les noms système et base de données.
@@ -1197,9 +1224,9 @@
     Le serveur fera un « bind » sur le nom distingué comme
     <replaceable>préfixe</replaceable> <replaceable>nom_utilisateur</replaceable>
     <replaceable>suffixe</replaceable>.
-    Typiquement, le paramètre prefix est utilisé pour spécifier
-    <replaceable>cn=</replaceable> ou <replaceable>DOMAIN\</replaceable> dans un
-    environnement Active Directory, et suffix est utilisé pour spécifier le reste
+    Typiquement, le paramètre <replaceable>prefix</replaceable> est utilisé pour spécifier
+    <literal>cn=</literal> ou <replaceable>DOMAIN</replaceable><literal>\</literal> dans un
+    environnement Active Directory. <replaceable>suffix</replaceable> est utilisé pour spécifier le reste
     du DN dans un environnement autre qu'Active Directory.
    </para>
 
@@ -1207,7 +1234,7 @@
     Les options de configuration suivantes sont supportées pour LDAP&nbsp;:
     <variablelist>
      <varlistentry>
-      <term>ldapserver</term>
+      <term><literal>ldapserver</literal></term>
       <listitem>
        <para>
         Nom ou adresse IP du serveur LDAP auquel se connecter.
@@ -1215,7 +1242,7 @@
       </listitem>
      </varlistentry>
      <varlistentry>
-      <term>ldapprefix</term>
+      <term><literal>ldapprefix</literal></term>
       <listitem>
        <para>
         Chaîne à ajouter devant le nom de l'utilisateur à la génération
@@ -1224,7 +1251,7 @@
       </listitem>
      </varlistentry>
      <varlistentry>
-      <term>ldapsuffix</term>
+      <term><literal>ldapsuffix</literal></term>
       <listitem>
        <para>
         Chaîne à ajouter derrière le nom de l'utilisateur à la génération
@@ -1233,7 +1260,7 @@
       </listitem>
      </varlistentry>
      <varlistentry>
-      <term>ldapport</term>
+      <term><literal>ldapport</literal></term>
       <listitem>
        <para>
         Numéro de port du serveur LDAP auquel se connecter. Si aucun port
@@ -1242,14 +1269,13 @@
       </listitem>
      </varlistentry>
      <varlistentry>
-      <term>ldaptls</term>
+      <term><literal>ldaptls</literal></term>
       <listitem>
        <para>
-        Positionnez à 1 pour que la connexion entre PostgreSQL et le serveur
+        Positionnez à <literal>1</literal> pour que la connexion entre PostgreSQL et le serveur
         LDAP utilise du chiffrage TLS. Notez que ceci ne chiffre que le trafic
-        jusqu'au serveur LDAP - la connexion vers le client peut toujours ne
-        pas être chiffrée, à moins que TLS ne soit aussi utilisée pour cette
-	dernière.
+        jusqu'au serveur LDAP &mdash; la connexion vers le client peut toujours ne
+        pas être chiffrée sauf si SSL est utilisé.
        </para>
       </listitem>
      </varlistentry>
@@ -1259,7 +1285,7 @@
    <note>
     <para>
      Comme LDAP utilise souvent des virgules et des espaces pour séparer
-     les différentes parties d'un DN, il est conseillé de toujours utiliser
+     les différentes parties d'un DN, il est souvent nécessaire d'utiliser
      des paramètres entourés de guillements durant le paramétrage des options
      LDAP, comme par exemple&nbsp;:
     </para>
@@ -1281,13 +1307,28 @@
     Cette méthode d'authentification utilise des clients SSL pour procéder
     à l'authentification. Elle n'est par conséquent disponible que pour
     les connexions SSL. Quand cette méthode est utilisée, le serveur
-    exigera que le client fournisse un certificat. Aucune invite de saisie
+    exigera que le client fournisse un certificat valide. Aucune invite de saisie
     de mot de passe ne sera envoyée au client. L'attribut <literal>cn</literal>
-    du certificat sera comparé avec le nom d'utilisateur demandé,
-    et s'ils correspondent la connexion sera autorisée. On peut avoir recours
-    aux tables de correspondance d'identité si les noms d'utilisateur ne
-    correspondent pas.
+    du certificat sera comparé to the requested database username, and if they match
+    the login will be allowed.  Username mapping can be used to allow
+    <literal>cn</literal> to be different from the database username.
    </para>
+
+   <para>
+    The following configuration options are supported for SSL certificate
+    authentication:
+    <variablelist>
+     <varlistentry>
+      <term><literal>map</literal></term>
+      <listitem>
+       <para>
+        Allows for mapping between system and database usernames. See
+        <xref linkend="auth-username-maps"/> for details.
+       </para>
+      </listitem>
+     </varlistentry>
+    </variablelist>
+   </para>
    
   </sect2>
 
@@ -1316,7 +1357,7 @@
     Les options suivantes sont supportées pour PAM&nbsp;:
     <variablelist>
      <varlistentry>
-      <term>pamservice</term>
+      <term><literal>pamservice</literal></term>
       <listitem>
        <para>
         Nom de service PAM.
@@ -1331,7 +1372,8 @@
      Si PAM est configuré pour lire <filename>/etc/shadow</filename>,
      l'authentification échoue car le serveur PostgreSQL est exécuté en
      tant qu'utilisateur standard. Ce n'est toutefois pas un problème
-     avec LDAP ou les autres méthodes d'authentification.
+     quand PAM est configuré pour utiliser LDAP ou les autres méthodes
+     d'authentification.
     </para>
    </note>
   </sect2>

Modified: traduc/trunk/postgresql/config.xml
===================================================================
--- traduc/trunk/postgresql/config.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/config.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -2173,6 +2173,16 @@
      <sect2 id="runtime-config-query-geqo">
      <title>Optimiseur génétique de requêtes</title>
 
+     <para>
+      The genetic query optimizer (GEQO) is an algorithm that does query
+      planning using heuristic searching.  This reduces planning time for
+      complex queries (those joining many relations), at the cost of producing
+      plans that are sometimes inferior to those found by the normal
+      exhaustive-search algorithm.  Also, GEQO's searching is randomized and
+      therefore its plans may vary nondeterministically.
+      For more information see <xref linkend="geqo"/>.
+     </para>
+
      <variablelist>
 
      <varlistentry id="guc-geqo" xreflabel="geqo">
@@ -2189,10 +2199,10 @@
        <primary>paramètre de configuration <varname>geqo</varname></primary>
       </indexterm>
        <para>
-	Active ou désactive l'optimisation génétique des requêtes, algorithme
-	de planification de requêtes sans recherche exhaustive. Activé par défaut.
-	La variable <varname>geqo_threshold</varname> fournit un moyen plus
-	granulaire de désactiver le GEQO pour certaines classes de requêtes.
+	Active ou désactive l'optimisation génétique des requêtes. Activé par
+	défaut. Il est généralement préférable de ne pas le désactiver sur un
+	serveur en production. La variable <varname>geqo_threshold</varname>
+	fournit un moyen plus granulaire de désactiver le GEQO.
        </para>
       </listitem>
      </varlistentry>
@@ -2409,13 +2419,18 @@
       </indexterm>
        <para>
         Le planificateur assemble les sous-requêtes dans des requêtes
-	supérieures si la liste <literal>FROM</literal> résultante 
-	contient au plus ce nombre d'éléments. Des valeurs faibles réduisent le
-	temps de planification mais conduisent à des plans de requêtes inférieurs.
-	La valeur par défaut est de 8. Il est généralement conseillé de conserver
-	cette valeur inférieure à <xref linkend="guc-geqo-threshold"/>.
-	Pour plus d'informations, voir <xref linkend="explicit-joins"/>.
+	supérieures si la liste <literal>FROM</literal> résultante contient
+	au plus ce nombre d'éléments. Des valeurs faibles réduisent le temps
+	de planification mais conduisent à des plans de requêtes inférieurs.
+	La valeur par défaut est de 8. Pour plus d'informations, voir <xref
+	linkend="explicit-joins"/>.
        </para>
+
+       <para>
+        Setting this value to <xref linkend="guc-geqo-threshold"/> or more
+        may trigger use of the GEQO planner, resulting in nondeterministic
+        plans.  See <xref linkend="runtime-config-query-geqo"/>.
+       </para>
       </listitem>
      </varlistentry>
 
@@ -2447,6 +2462,12 @@
 	  d'indiquer explicitement l'ordre de jointure souhaité.
 	  Pour plus d'informations, voir <xref linkend="explicit-joins"/>.
         </para>
+
+       <para>
+        Setting this value to <xref linkend="guc-geqo-threshold"/> or more
+        may trigger use of the GEQO planner, resulting in nondeterministic
+        plans.  See <xref linkend="runtime-config-query-geqo"/>.
+       </para>
       </listitem>
      </varlistentry>
 
@@ -3265,6 +3286,13 @@
 	 représentent l'heure de lancement du processus et l'identifiant du
 	 processus, <literal>%c</literal> peut donc aussi être utilisé 
 	 comme une manière de raccourcir l'affichage de ces éléments.
+	 For example, to generate the session
+         identifier from <literal>pg_stat_activity</literal>, use this query:
+<programlisting>
+SELECT to_hex(EXTRACT(EPOCH FROM backend_start)::integer) || '.' ||
+       to_hex(procpid)
+FROM pg_stat_activity;
+</programlisting>
        </para>
 
        <tip>

Modified: traduc/trunk/postgresql/cube.xml
===================================================================
--- traduc/trunk/postgresql/cube.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/cube.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -20,13 +20,13 @@
   <title>Syntaxe</title>
 
   <para>
-   Ce qui suit est un ensemble de représentations externes valides pour le
-   type <type>cube</type>. <replaceable>x</replaceable>,
-   <replaceable>y</replaceable>... sont des nombres en virgule
-   flottante&nbsp;:
+   <xref linkend="cube-repr-table"/> shows the valid external
+   representations for the <type>cube</type>
+   type.  <replaceable>x</replaceable>, <replaceable>y</replaceable>, etc. denote
+   floating-point numbers.
   </para>
 
-  <table>
+  <table id="cube-repr-table">
    <title>Représentations externes d'un cube</title>
    <tgroup cols="2">
     <tbody>
@@ -166,10 +166,10 @@
   </para>
 
   <para>
-   Les fonctions suivantes sont disponibles&nbsp;:
+   <xref linkend="cube-functions-table"/> indique les fonctions disponibles.
   </para>
 
-  <table>
+  <table id="cube-functions-table">
    <title>Fonctions cube</title>
    <tgroup cols="2">
     <tbody>

Modified: traduc/trunk/postgresql/datatype.xml
===================================================================
--- traduc/trunk/postgresql/datatype.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/datatype.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -4060,6 +4060,14 @@
     traitements seront plus efficaces si l'encodage serveur est aussi en
     UTF-8.
    </para>
+
+   <caution>
+    <para>
+     Some XML-related functions may not work at all on non-ASCII data
+     when the server encoding is not UTF-8.  This is known to be an
+     issue for <function>xpath()</function> in particular.
+    </para>
+   </caution>
    </sect2>
 
    <sect2>

Modified: traduc/trunk/postgresql/dblink.xml
===================================================================
--- traduc/trunk/postgresql/dblink.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/dblink.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -49,6 +49,17 @@
     anonyme à la fois. Toute connexion est maintenue jusqu'à ce qu'elle
     soit close ou que la session de base de données soit terminée.
    </para>
+
+   <para>
+    The connection string may also be the name of an existing foreign
+    server that utilizes the postgresql_fdw foreign data wrapper library.
+    See the example below, as well as the following:
+    <simplelist type="inline">
+     <member><xref linkend="sql-createforeigndatawrapper" endterm="sql-createforeigndatawrapper-title"/></member>
+     <member><xref linkend="sql-createserver" endterm="sql-createserver-title"/></member>
+     <member><xref linkend="sql-createusermapping" endterm="sql-createusermapping-title"/></member>
+    </simplelist>
+   </para>
   </refsect1>
 
   <refsect1>
@@ -124,6 +135,53 @@
  ----------------
   OK
  (1 row)
+
+ -- FOREIGN DATA WRAPPER functionality
+ -- Note: local connection must require password authentication for this to work properly
+ --       Otherwise, you will receive the following error from dblink_connect():
+ --       ----------------------------------------------------------------------
+ --       ERROR:  password is required
+ --       DETAIL:  Non-superuser cannot connect if the server does not request a password.
+ --       HINT:  Target server's authentication method must be changed.
+ CREATE USER dblink_regression_test WITH PASSWORD 'secret';
+ CREATE FOREIGN DATA WRAPPER postgresql;
+ CREATE SERVER fdtest FOREIGN DATA WRAPPER postgresql OPTIONS (hostaddr '127.0.0.1', dbname 'contrib_regression');
+
+ CREATE USER MAPPING FOR dblink_regression_test SERVER fdtest OPTIONS (user 'dblink_regression_test', password 'secret');
+ GRANT USAGE ON FOREIGN SERVER fdtest TO dblink_regression_test;
+ GRANT SELECT ON TABLE foo TO dblink_regression_test;
+
+ \set ORIGINAL_USER :USER
+ \c - dblink_regression_test
+ SELECT dblink_connect('myconn', 'fdtest');
+  dblink_connect 
+ ----------------
+  OK
+ (1 row)
+
+ SELECT * FROM dblink('myconn','SELECT * FROM foo') AS t(a int, b text, c text[]);
+  a  | b |       c       
+ ----+---+---------------
+   0 | a | {a0,b0,c0}
+   1 | b | {a1,b1,c1}
+   2 | c | {a2,b2,c2}
+   3 | d | {a3,b3,c3}
+   4 | e | {a4,b4,c4}
+   5 | f | {a5,b5,c5}
+   6 | g | {a6,b6,c6}
+   7 | h | {a7,b7,c7}
+   8 | i | {a8,b8,c8}
+   9 | j | {a9,b9,c9}
+  10 | k | {a10,b10,c10}
+ (11 rows)
+
+ \c - :ORIGINAL_USER
+ REVOKE USAGE ON FOREIGN SERVER fdtest FROM dblink_regression_test;
+ REVOKE SELECT ON TABLE foo FROM  dblink_regression_test;
+ DROP USER MAPPING FOR dblink_regression_test SERVER fdtest;
+ DROP USER dblink_regression_test;
+ DROP SERVER fdtest;
+ DROP FOREIGN DATA WRAPPER postgresql;
    </programlisting>
   </refsect1>
  </refentry>

Modified: traduc/trunk/postgresql/ecpg.xml
===================================================================
--- traduc/trunk/postgresql/ecpg.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/ecpg.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -1153,8 +1153,9 @@
 	    modifier cela dans ecpg.
        </para>
        <para>
-        Formats de saisie autorisés&nbsp;:
-        <table>
+        <xref linkend="ecpg-pgtypesdate-from-asc-table"/> shows the allowed input formats.
+       </para>
+        <table id="ecpg-pgtypesdate-from-asc-table">
 	 <title>Formats de saisie valides pour <function>PGTYPESdate_from_asc</function></title>
 	 <tgroup cols="2">
 	  <thead>
@@ -1236,7 +1237,6 @@
           </tbody>
          </tgroup>
         </table>
-       </para>
       </listitem>
      </varlistentry>
 
@@ -1416,11 +1416,12 @@
 	    sortie.
        </para>
        <para>
-	    La table qui suit propose quelques formats possibles. Cela donne
-	    des idées d'utilisation de cette fonction. Toutes les lignes en
-	    sortie sont fondées sur la même date, le 23 novembre 1959.
 	<!-- SAS : Là encore se pose la question de la localisation -->
-        <table>
+        <xref linkend="ecpg-pgtypesdate-fmt-asc-example-table"/> indicates a few possible formats. This will give
+        you an idea of how to use this function. All output lines are based on
+        the same date: November 23, 1959.
+       </para>
+        <table id="ecpg-pgtypesdate-fmt-asc-example-table">
 	 <title>Formats valides en entrée de <function>PGTYPESdate_fmt_asc</function></title>
 	 <tgroup cols="2">
 	  <thead>
@@ -1481,7 +1482,6 @@
           </tbody>
          </tgroup>
         </table>
-       </para>
       </listitem>
      </varlistentry>
 
@@ -1508,10 +1508,11 @@
 	    pour celle du jour.
        </para>
        <para>
-	    La table qui suit indique quelques formats possibles. Cela donne
-	    des idées sur l'utilisation de cette fonction.
 	    <!-- SAS : Localisation ? -->
-        <table>
+        <xref linkend="ecpg-rdefmtdate-example-table"/> indicates a few possible formats. This will give
+        you an idea of how to use this function.
+       </para>
+        <table id="ecpg-rdefmtdate-example-table">
 	 <title>Formats valides en entrée de  <function>rdefmtdate</function></title>
 	 <tgroup cols="2">
 	  <thead>
@@ -1595,7 +1596,6 @@
           </tbody>
          </tgroup>
         </table>
-       </para>
       </listitem>
      </varlistentry>
     </variablelist>
@@ -1645,10 +1645,10 @@
 	    sont ignorés silencieusement.
        </para>
        <para>
-        Le tableau qui suit contient quelques exemples de saisie de
-	chaînes&nbsp;:
 	<!-- SAS : localisation ? -->
-        <table>
+        <xref linkend="ecpg-pgtypestimestamp-from-asc-example-table"/> contains a few examples for input strings.
+       </para>
+        <table id="ecpg-pgtypestimestamp-from-asc-example-table">
 	 <title>Formats de saisie valides pour <function>PGTYPEStimestamp_from_asc</function></title>
 	 <tgroup cols="2">
 	  <thead>
@@ -1677,7 +1677,6 @@
           </tbody>
          </tgroup>
         </table>
-       </para>
       </listitem>
      </varlistentry>
 

Modified: traduc/trunk/postgresql/func.xml
===================================================================
--- traduc/trunk/postgresql/func.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/func.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -2119,7 +2119,7 @@
       <row>
        <entry><literal>iso_8859_5_to_koi8_r</literal></entry>
        <entry><literal>ISO_8859_5</literal></entry>
-       <entry><literal>KOI8</literal></entry>
+       <entry><literal>KOI8R</literal></entry>
       </row>
 
       <row>
@@ -2178,35 +2178,41 @@
 
       <row>
        <entry><literal>koi8_r_to_iso_8859_5</literal></entry>
-       <entry><literal>KOI8</literal></entry>
+       <entry><literal>KOI8R</literal></entry>
        <entry><literal>ISO_8859_5</literal></entry>
       </row>
 
       <row>
        <entry><literal>koi8_r_to_mic</literal></entry>
-       <entry><literal>KOI8</literal></entry>
+       <entry><literal>KOI8R</literal></entry>
        <entry><literal>MULE_INTERNAL</literal></entry>
       </row>
 
       <row>
        <entry><literal>koi8_r_to_utf8</literal></entry>
-       <entry><literal>KOI8</literal></entry>
+       <entry><literal>KOI8R</literal></entry>
        <entry><literal>UTF8</literal></entry>
       </row>
 
       <row>
        <entry><literal>koi8_r_to_windows_1251</literal></entry>
-       <entry><literal>KOI8</literal></entry>
+       <entry><literal>KOI8R</literal></entry>
        <entry><literal>WIN1251</literal></entry>
       </row>
 
       <row>
        <entry><literal>koi8_r_to_windows_866</literal></entry>
-       <entry><literal>KOI8</literal></entry>
+       <entry><literal>KOI8R</literal></entry>
        <entry><literal>WIN866</literal></entry>
       </row>
 
       <row>
+       <entry><literal>koi8_u_to_utf8</literal></entry>
+       <entry><literal>KOI8U</literal></entry>
+       <entry><literal>UTF8</literal></entry>
+      </row>
+
+      <row>
        <entry><literal>mic_to_ascii</literal></entry>
        <entry><literal>MULE_INTERNAL</literal></entry>
        <entry><literal>SQL_ASCII</literal></entry>
@@ -2275,7 +2281,7 @@
       <row>
        <entry><literal>mic_to_koi8_r</literal></entry>
        <entry><literal>MULE_INTERNAL</literal></entry>
-       <entry><literal>KOI8</literal></entry>
+       <entry><literal>KOI8R</literal></entry>
       </row>
 
       <row>
@@ -2473,10 +2479,16 @@
       <row>
        <entry><literal>utf8_to_koi8_r</literal></entry>
        <entry><literal>UTF8</literal></entry>
-       <entry><literal>KOI8</literal></entry>
+       <entry><literal>KOI8R</literal></entry>
       </row>
 
       <row>
+       <entry><literal>utf8_to_koi8_u</literal></entry>
+       <entry><literal>UTF8</literal></entry>
+       <entry><literal>KOI8U</literal></entry>
+      </row>
+
+      <row>
        <entry><literal>utf8_to_sjis</literal></entry>
        <entry><literal>UTF8</literal></entry>
        <entry><literal>SJIS</literal></entry>
@@ -2581,7 +2593,7 @@
       <row>
        <entry><literal>windows_1251_to_koi8_r</literal></entry>
        <entry><literal>WIN1251</literal></entry>
-       <entry><literal>KOI8</literal></entry>
+       <entry><literal>KOI8R</literal></entry>
       </row>
 
       <row>
@@ -2623,7 +2635,7 @@
       <row>
        <entry><literal>windows_866_to_koi8_r</literal></entry>
        <entry><literal>WIN866</literal></entry>
-       <entry><literal>KOI8</literal></entry>
+       <entry><literal>KOI8R</literal></entry>
       </row>
 
       <row>
@@ -12773,7 +12785,9 @@
    du texte originale de la commande.)
    <function>pg_get_expr</function> décompile la forme interne d'une expression
    individuelle, comme la valeur par défaut d'une colonne. Cela peut être utile
-   pour examiner le contenu des catalogues système.
+   pour examiner le contenu des catalogues système. If the expression
+   might contain Vars, specify the OID of the relation they refer to as the
+   second parameter; if no Vars are expected, zero is sufficient.
    <function>pg_get_viewdef</function> reconstruit la requête <command>SELECT</command>
    qui définit une vue. La plupart de ces fonctions existent en deux versions,
    l'une d'elles permettant, optionnellement, d'<quote>afficher joliment</quote>

Modified: traduc/trunk/postgresql/information_schema.xml
===================================================================
--- traduc/trunk/postgresql/information_schema.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/information_schema.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -403,9 +403,12 @@
       <entry><literal>datetime_precision</literal></entry>
       <entry><type>cardinal_number</type></entry>
       <entry>
-       Si <literal>data_type</literal> identifie une date, une heure ou un interval,
-       la précision déclarée&nbsp;; NULL pour tous les autres types de données
-       et pour ceux dont la précision n'est pas déclarée.
+       If <literal>data_type</literal> identifies a date, time,
+       timestamp, or interval type, this column contains the (declared
+       or implicit) fractional seconds precision of the type for this
+       attribute, that is, the number of decimal digits maintained
+       following the decimal point in the seconds value.  For all
+       other data types, this column is null.
       </entry>
      </row>
 
@@ -990,8 +993,8 @@
       <entry><type>cardinal_number</type></entry>
       <entry>
        Si <literal>data_type</literal> identifie un type numérique, cette
-       colonne contient la précision (déclarée ou implicite) du type pour cette
-       colonne. La précision indique le nombre de chiffres significatifs.
+       colonne contient la précision (déclarée ou implicite) du type pour ce
+       domaine. La précision indique le nombre de chiffres significatifs.
        Elle peut être exprimée en décimal (base 10) ou en binaire (base 2)
        comme indiqué dans la colonne
        <literal>numeric_precision_radix</literal>. Pour tous les autres types de
@@ -1016,8 +1019,8 @@
       <entry><type>cardinal_number</type></entry>
       <entry>
        Si <literal>data_type</literal> identifie un type numeric exact,
-       cette colonne contient l'échelle (déclarée ou implicite) du type pour la
-       colonne. L'échelle indique le nombre de chiffres significatifs à la
+       cette colonne contient l'échelle (déclarée ou implicite) du type pour ce
+       domaine. L'échelle indique le nombre de chiffres significatifs à la
        droite du point décimal. Elle peut être exprimée en décimal (base 10)
        ou en binaire (base 2), comme indiqué dans la colonne
        <literal>numeric_precision_radix</literal>. Pour tous les autres types de
@@ -1029,9 +1032,12 @@
       <entry><literal>datetime_precision</literal></entry>
       <entry><type>cardinal_number</type></entry>
       <entry>
-       Si <literal>data_type</literal> identifie une date, une heure ou un type
-       interval, la précision déclarée&nbsp;; NULL pour tous les autres types
-       de données ou si aucune précision n'est déclarée.
+       If <literal>data_type</literal> identifies a date, time,
+       timestamp, or interval type, this column contains the (declared
+       or implicit) fractional seconds precision of the type for this
+       domain, that is, the number of decimal digits maintained
+       following the decimal point in the seconds value.  For all
+       other data types, this column is null.
       </entry>
      </row>
 

Modified: traduc/trunk/postgresql/installation.xml
===================================================================
--- traduc/trunk/postgresql/installation.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/installation.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -2071,7 +2071,7 @@
 
     <para>
      Sur AIX 4.3.2, vous avez besoin de <filename>libm.a</filename> qui est dans
-     le fileset bos.adt.libm. Essayez la commande suivante&nbsp;:
+     le fileset <literal>bos.adt.libm</literal>. Essayez la commande suivante&nbsp;:
 <screen>
 $ lslpp -l bos.adt.libm
 </screen>
@@ -2100,11 +2100,11 @@
     <title>Sockets du domaine Unix inutilisables</title>
 
     <para>
-     Dans AIX 5.3, la structure <structname>sockadr_storage</structname> n'est
+     Dans AIX 5.3, la structure <structname>sockaddr_storage</structname> n'est
      pas définie avec une taille suffisante. En version 5.3, IBM a augmenté la
      taille de <structname>sockaddr_un</structname>, la structure d'adresse
      pour une socket de domaine Unix, mais n'a pas augmenté en conséquence la
-     taille de <structname>sockadr_storage</structname>. La conséquence est
+     taille de <structname>sockaddr_storage</structname>. La conséquence est
      que les tentatives d'utiliser une socket de domaine Unix avec PostgreSQL
      amènent libpq à dépasser la taille de la structure de données. Les
      connexions TCP/IP fonctionnent, mais pas les sockets de domaine Unix, ce
@@ -2122,6 +2122,65 @@
    </sect3>
 
    <sect3>
+    <title>Internet address issues</title>
+
+    <para>
+     PostgreSQL relies on the system's <function>getaddrinfo</function> function
+     to parse IP addresses in <varname>listen_addresses</varname>,
+     <filename>pg_hba.conf</filename>, etc.  Older versions of AIX have assorted
+     bugs in this function.  If you have problems related to these settings,
+     updating to the latest fix pack for your AIX release should fix it.
+    </para>
+
+    <!-- http://archives.postgresql.org/message-id/6064jt6cfm.fsf_-_@dba2.int.libertyrms.com -->
+
+    <para>
+     One user reports:
+    </para>
+
+    <para>
+     When implementing PostgreSQL version 8.1 on AIX 5.3, we
+     periodically ran into problems where the statistics collector
+     would <quote>mysteriously</quote> not come up successfully.  This
+     appears to be the result of unexpected behaviour in the IPv6
+     implementation.  It looks like PostgreSQL and IPv6 do not play
+     very well together at this time on AIX.
+    </para>
+
+    <para>
+     Any of the following actions <quote>fix</quote> the problem.
+     <itemizedlist>
+      <listitem>
+       <para>
+        Delete the IPv6 address for localhost:
+<screen>
+(as root)
+# ifconfig lo0 inet6 ::1/0 delete
+</screen>
+       </para>
+      </listitem>
+
+      <listitem>
+       <para>
+        Remove IPv6 from net services.  The
+        file <filename>/etc/netsvc.conf</filename> on AIX is roughly
+        equivalent to <filename>/etc/nsswitch.conf</filename> on
+        Solaris/Linux.  The default, on AIX, is thus:
+<programlisting>
+hosts=local,bind
+</programlisting>
+        Replace this with:
+<programlisting>
+hosts=local4,bind4
+</programlisting>
+        to deactivate searching for IPv6 addresses.
+       </para>
+      </listitem>
+     </itemizedlist>
+    </para>
+   </sect3>
+
+   <sect3>
     <title>Gestion de la mémoire</title>
     <!-- http://archives.postgresql.org/message-id/603bgqmpl9.fsf@dba2.int.libertyrms.com -->
 
@@ -2273,51 +2332,6 @@
      </biblioentry>
     </bibliography>
    </sect3>
-
-   <sect3>
-    <title>Problèmes avec le collecteur de statistiques</title>
-    <!-- http://archives.postgresql.org/message-id/6064jt6cfm.fsf_-_@dba2.int.libertyrms.com -->
-
-    <para>
-     En implémentant PostgreSQL version 8.1 sur AIX 5.3, nous étions périodiquement
-     confrontés à des problèmes où le collecteur de statistiques ne démarrait pas
-     <quote>mystérieusement</quote>. Ceci semblerait être le résultat d'un
-     comportement inattendu dans l'implémentation IPV6. Il semble que PostgreSQL
-     et IPV6 ne fonctionnent pas correctement ensemble pour le moment sur AIX.
-    </para>
-
-    <para>
-     Chacune des actions suivantes <quote>résout</quote> le problème.
-     <itemizedlist>
-      <listitem>
-       <para>
-        Enlever l'adresse IPV6 pour localhost&nbsp;:
-<screen>
-(en tant que root)
-# ifconfig lo0 inet6 ::1/0 delete
-</screen>
-       </para>
-      </listitem>
-
-      <listitem>
-       <para>
-        Supprimer IPV6 des services réseau. Le fichier 
-	<filename>/etc/netsvc.conf</filename> sur AIX est approximativement
-	équivalent à <filename>/etc/nsswitch.conf</filename> sous Solaris/Linux.
-	La valeur par défaut, sur AIX, est la suivante&nbsp;:
-<programlisting>
-hosts=local,bind
-</programlisting>
-        Remplacez la par&nbsp;:
-<programlisting>
-hosts=local4,bind4
-</programlisting>
-        pour désactiver la recherche d'adresses IPV6.
-       </para>
-      </listitem>
-     </itemizedlist>
-    </para>
-   </sect3>
   </sect2>
 
   <sect2 id="installation-notes-cygwin">

Modified: traduc/trunk/postgresql/intarray.xml
===================================================================
--- traduc/trunk/postgresql/intarray.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/intarray.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -141,13 +141,13 @@
       au moins un élément en commun</entry>
      </row>
      <row>
-      <entry><literal>int[] @ int[]</literal></entry>
+      <entry><literal>int[] @&gt; int[]</literal></entry>
       <entry><type>boolean</type></entry>
       <entry>contient &mdash; <literal>true</literal> si le tableau gauche
       contient le tableau droit</entry>
      </row>
      <row>
-      <entry><literal>int[] ~ int[]</literal></entry>
+      <entry><literal>int[] &lt;@ int[]</literal></entry>
       <entry><type>boolean</type></entry>
       <entry>est contenu &mdash; <literal>true</literal> si le tableau gauche
       est contenu dans le tableau droit</entry>
@@ -218,17 +218,25 @@
   </table>
 
   <para>
-   Les opérateurs de contenance <literal>@</literal> et <literal>~</literal>
-   sont équivalents fonctionnellement aux opérateurs internes de
-   <productname>PostgreSQL</productname>, respectivement <literal>@&gt;</literal>
-   et <literal>&lt;@</literal>, en dehors du fait que <literal>@</literal> et
-   <literal>~</literal> fonctionnent seulement avec des tableaux d'entiers. Ces
-   noms d'opérateurs sont obsolètes et seront un jour supprimés. Notez que ces
-   noms sont inversés par rapport à la convention suivie par les types de
-   données géométriques).
+   (Before PostgreSQL 8.2, the containment operators <literal>@&gt;</literal> and
+   <literal>&lt;@</literal> were respectively called <literal>@</literal> and <literal>~</literal>.
+   These names are still available, but are deprecated and will eventually be
+   retired.  Notice that the old names are reversed from the convention
+   formerly followed by the core geometric datatypes!)
   </para>
 
   <para>
+   The containment operators <literal>@&gt;</literal> and <literal>&lt;@</literal> are
+   approximately equivalent to <productname>PostgreSQL</productname>'s built-in operators
+   of the same names, except that they work only on integer arrays while the
+   built-in operators work for any array type.  An important difference is
+   that <filename>intarray</filename>'s operators do not consider an empty array to be
+   contained in anything else.  This is consistent with the behavior of
+   GIN-indexed queries, but not with the usual mathematical definition of
+   containment.
+  </para>
+
+  <para>
    Les opérateurs <literal>@@</literal> et <literal>~~</literal> testent si
    un tableau satisfait une <firstterm>requête</firstterm>, qui est exprimée
    comme une valeur d'un type de données spécialisé <type>query_int</type>. Une
@@ -246,12 +254,9 @@
   <title>Support des index</title>
 
   <para>
-   <filename>intarray</filename> fournit un support des index pour les
-   opérateurs <literal>&amp;&amp;</literal>, <literal>@</literal>,
-   <literal>~</literal> et <literal>@@</literal>, ainsi qu'une égalité
-   des tableaux standards et les opérateurs internes
-   <literal>@&gt;</literal> et <literal>&lt;@</literal> (lorsqu'ils sont
-   utilisés sur des tableaux d'entiers).
+   <filename>intarray</filename> provides index support for the
+   <literal>&amp;&amp;</literal>, <literal>@&gt;</literal>, <literal>&lt;@</literal>,
+   and <literal>@@</literal> operators, as well as regular array equality.
   </para>
 
   <para>

Modified: traduc/trunk/postgresql/isn.xml
===================================================================
--- traduc/trunk/postgresql/isn.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/isn.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -225,12 +225,12 @@
   <para>
    Le module <filename>isn</filename> fournit des opérateurs de comparaison
    standard, plus un support des index B-Tree et hachés pour tous les types
-   de données. De plus, il existe plusieurs fonctions spécialisées. Dans
-   cette table, <type>isn</type> signifie un des types de données de ce
-   module&nbsp;:
+   de données. De plus, il existe plusieurs fonctions spécialisées, listées
+   dans <xref linkend="isn-functions"/>. Dans cette table, <type>isn</type>
+   signifie un des types de données de ce module&nbsp;:
   </para>
 
-  <table>
+  <table id="isn-functions">
    <title>Fonctions de <filename>isn</filename></title>
    <tgroup cols="3">
     <thead>

Modified: traduc/trunk/postgresql/libpq.xml
===================================================================
--- traduc/trunk/postgresql/libpq.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/libpq.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -69,6 +69,16 @@
    pour vérifier si la connexion s'est bien effectuée avant de lancer des
    requêtes via l'objet de connexion.
 
+   <warning>
+    <para>
+     On Unix, forking a process with open libpq connections can lead to
+     unpredictable results because the parent and child processes share
+     the same sockets and operating system resources.  For this reason,
+     such usage is not recommended, though doing an <function>exec</function> from
+     the child process to load a new executable is safe.
+    </para>
+   </warning>
+
    <note>
     <para>
      Sur Windows, il existe un moyen pour améliorer les performances si une

Modified: traduc/trunk/postgresql/maintenance.xml
===================================================================
--- traduc/trunk/postgresql/maintenance.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/maintenance.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -394,19 +394,6 @@
    </para>
 
    <para>
-    <command>VACUUM</command> ignore habituellement les pages qui n'ont pas de
-    lignes mortes, mais ces pages pourraient toujours avoir des lignes avec
-    d'anciennes valeurs de XID. Pour les remplacer elles-aussi, un parcours
-    complet de la table est nécessaire. <xref
-    linkend="guc-vacuum-freeze-table-age"/> contrôle quand
-    <command>VACUUM</command> le fait&nbsp;: une revue complète de la table est
-    forcée si la table n'a pas été parcourue entièrement pendant
-    <varname>vacuum_freeze_table_age</varname> - <varname>vacuum_freeze_min_age</varname>
-    transactions. Le configurer à 0 fait que <command>VACUUM</command> ignore
-    la carte de visibilité et parcours toujours toutes les pages.
-   </para>
-
-   <para>
     <xref linkend="guc-vacuum-freeze-min-age"/> contrôle l'âge que doit avoir une
     valeur XID avant qu'elle soit remplacée par <literal>FrozenXID</literal>. Les
     valeurs plus importantes de ces deux paramètres préservent l'information
@@ -416,6 +403,19 @@
    </para>
 
    <para>
+    <command>VACUUM</command> normally skips pages that don't have any dead row
+    versions, but those pages might still have row versions with old XID
+    values.  To ensure all old XIDs have been replaced by
+    <literal>FrozenXID</literal>, a scan of the whole table is needed.
+    <xref linkend="guc-vacuum-freeze-table-age"/> controls when
+    <command>VACUUM</command> does that: a whole table sweep is forced if
+    the table hasn't been fully scanned for <varname>vacuum_freeze_table_age</varname>
+    minus <varname>vacuum_freeze_min_age</varname> transactions. Setting it to 0
+    forces <command>VACUUM</command> to always scan all pages, effectively ignoring
+    the visibility map.
+   </para>
+
+   <para>
     Le temps maximum où une table peut rester sans VACUUM est de deux millions
     de transactions moins <varname>vacuum_freeze_min_age</varname> quand
     <command>VACUUM</command> a parcouru la table complètement pour la dernière
@@ -443,7 +443,7 @@
    </para>
 
    <para>
-    Le maximum efficace pour <varname>vacuum_table_age</varname> est 0.95 * 
+    Le maximum efficace pour <varname>vacuum_freeze_table_age</varname> est 0.95 * 
     <varname>autovacuum_freeze_max_age</varname>&nbsp;; un paramétrage plus haut
     que ça sera limité à ce maximum. Une valeur plus importante qie
     <varname>autovacuum_freeze_max_age</varname> n'aurait pas de sens car un
@@ -516,13 +516,17 @@
 SELECT datname, age(datfrozenxid) FROM pg_database;</programlisting>
 
     La colonne <literal>age</literal> mesure le nombre de transactions à partir
-    du XID final vers le XID de transaction en cours. <command>VACUUM</command>
+    du XID final vers le XID de transaction en cours.
+   </para>
+
+   <para>
+    <command>VACUUM</command>
     parcourt habituellement seulement les pages qui ont été modifiées depuis le
     dernier VACUUM mais <structfield>relfrozenxid</structfield> peut seulement
     être avancé quand la table est parcourue complètement. La table est parcourue
     entièrement quand <structfield>relfrozenxid</structfield> est agée de plus
-    de <varname>vacuum_freeze_table_age</varname> transactions, si la commande
-    <command>VACUUM FREEZE</command> est utilisée ou si toutes les pages se
+    de <varname>vacuum_freeze_table_age</varname> transactions, quand la commande
+    <command>VACUUM FREEZE</command> est utilisée ou quand toutes les pages se
     trouvent nécessiter un VACUUM pour supprimer les versions mortes des lignes.
     Après que <command>VACUUM</command> ait parcouru la table complète
     <literal>age(relfrozenxid)</literal> devrait être un peu plus grande que
@@ -603,7 +607,7 @@
     maximum de <xref linkend="guc-autovacuum-max-workers"/> processus fonctionnant
     en même temps. S'il y a plus de <xref linkend="guc-autovacuum-max-workers"/>
     bases à traiter, la prochaine base de données sera traitée dès qu'un autre
-    travailleur a terminé. Les processus travailleurs vérifieront chaque table de
+    travailleur a terminé. Chaque processus travailleur vérifiera chaque table de
     leur base de données et exécutera un <command>VACUUM</command> et/ou un
     <command>ANALYZE</command> suivant les besoins.
    </para>
@@ -649,7 +653,7 @@
     <varname>vacuum_freeze_table_age</varname>, la table complète est parcourue
     pour geler les anciennes lignes et pour avancer
     <structfield>relfrozenxid</structfield>, sinon seules les pages qui ont été
-    modifiées depuis le dernier VACUUM sont ciblées par l'opération de
+    modifiées depuis le dernier VACUUM sont parcourues par l'opération de
     VACUUM.
    </para>
 
@@ -836,7 +840,7 @@
    De plus, sur <productname>Linux</productname>, <application>syslog</application> synchronisera tout
    message sur disque, amenant des performances assez pauvres. (Vous pouvez
    utiliser un <literal>-</literal> au début du nom de fichier dans le fichier de
-   configuration <application>syslog</application> pour désactiver ce comportement.)
+   configuration <application>syslog</application> pour désactiver la synchronisation.)
   </para>
 
   <para>

Modified: traduc/trunk/postgresql/nls.xml
===================================================================
--- traduc/trunk/postgresql/nls.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/nls.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -48,8 +48,8 @@
     les programmes <filename>xgettext</filename> et <filename>msgmerge</filename>
     dans une implémentation compatible GNU. Il est prévu dans le futur que
     <filename>xgettext</filename> ne soit plus nécessaire lorsqu'une distribution
-    empaquetée des sources est utilisée (à partir du CVS, il en sera toujours
-    besoin). <application>GNU Gettext 0.10.36</application> ou ultérieure est
+    empaquetée des sources est utilisée (en travaillant à partir du CVS, il
+    sera toujours utile). <application>GNU Gettext 0.10.36</application> ou ultérieure est
      actuellement recommandé.
    </para>
 
@@ -418,6 +418,9 @@
          Si la chaîne traduisible n'est pas le premier argument,
          l'élément a besoin d'être de la forme <literal>func:2</literal> (pour
          le second argument).
+         If you have a function that supports pluralized messages,
+         the item should look like <literal>func:1,2</literal>
+         (identifying the singular and plural message arguments).
         </para>
        </listitem>
       </varlistentry>
@@ -447,7 +450,7 @@
 <programlisting>printf("Files were %s.\n", flag ? "copied" : "removed");
 </programlisting>
       L'ordre des mots d'une phrase peut être différent dans d'autres langues.
-      De plus, même si gettext() est correctement appelé sur chaque fragment,
+      De plus, même si <function>gettext()</function> est correctement appelé sur chaque fragment,
       il pourrait être difficile de traduire séparément les fragments. Il est
       préférable de dupliquer un peu de code de façon à ce que chaque message à
       traduire forme un tout cohérent. Seuls les nombres, noms de fichiers et
@@ -469,12 +472,43 @@
     printf("copied %d files", n):
 </programlisting>
       sera source de déception. Certaines langues ont plus de deux formes avec
-      des règles particulières. Il se pourrait qu'une solution à ce problème
-      soit trouvée dans le futur, mais actuellement le mieux est encore de l'éviter.
-      Il est préférable d'écrire&nbsp;:
+      des règles particulières. It's often best to design the message
+      to avoid the issue altogether, for instance like this:
 <programlisting>printf("number of copied files: %d", n);
 </programlisting>
      </para>
+
+     <para>
+      If you really want to construct a properly pluralized message,
+      there is support for this, but it's a bit awkward.  When generating
+      a primary or detail error message in <function>ereport()</function>, you can
+      write something like this:
+<programlisting>
+errmsg_plural("copied %d file",
+              "copied %d files",
+              n,
+              n)
+</programlisting>
+      The first argument is the format string appropriate for English
+      singular form, the second is the format string appropriate for
+      English plural form, and the third is the integer control value
+      that determines which plural form to use.  Subsequent arguments
+      are formatted per the format string as usual.  (Normally, the
+      pluralization control value will also be one of the values to be
+      formatted, so it has to be written twice.)  In English it only
+      matters whether <replaceable>n</replaceable> is 1 or not 1, but in other
+      languages there can be many different plural forms.  The translator
+      sees the two English forms as a group and has the opportunity to
+      supply multiple substitute strings, with the appropriate one being
+      selected based on the run-time value of <replaceable>n</replaceable>.
+     </para>
+
+     <para>
+      If you need to pluralize a message that isn't going directly to an
+      <function>errmsg</function> or <function>errdetail</function> report, you have to use
+      the underlying function <function>ngettext</function>.  See the gettext
+      documentation.
+     </para>
     </listitem>
 
     <listitem>

Modified: traduc/trunk/postgresql/pageinspect.xml
===================================================================
--- traduc/trunk/postgresql/pageinspect.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/pageinspect.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -33,8 +33,9 @@
       et renvoie une copie en tant que valeur de type  <type>bytea</type>. Ceci
       permet la récupération de la copie cohérente à un instant t d'un bloc
       spécifique.
-      <literal>fork</literal> devrait être <literal>'main'</literal> pour les
-      données, et <literal>'fsm'</literal> pour la structure FSM.
+      <replaceable>fork</replaceable> devrait être <literal>'main'</literal> pour les
+      données, et <literal>'fsm'</literal> pour la structure free space map,
+      or <literal>'vm'</literal> for the visibility map.
      </para>
     </listitem>
    </varlistentry>
@@ -46,8 +47,8 @@
 
     <listitem>
      <para>
-      Un raccourci de la fonction ci-dessus, pour le lire que la partie des
-      données. Identique à <literal>get_raw_page(relname, 0, blkno)</literal>.
+      Une version raccourcie de <function>get_raw_page</function>, pour le lire que la partie des
+      données. Équivalent à <literal>get_raw_page(relname, 'main', blkno)</literal>.
      </para>
     </listitem>
    </varlistentry>

Modified: traduc/trunk/postgresql/pgbuffercache.xml
===================================================================
--- traduc/trunk/postgresql/pgbuffercache.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/pgbuffercache.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -32,10 +32,11 @@
   <title>La vue <structname>pg_buffercache</structname></title>
 
   <para>
-   Voici la définition des colonnes exposées par la vue&nbsp;:
+   Voici la définition des colonnes exposées par la vue affichée dans <xref
+   linkend="pgbuffercache-columns"/>&nbsp;:
   </para>
 
-  <table>
+  <table id="pgbuffercache-columns">
    <title>Colonnes de <structname>pg_buffercache</structname></title>
 
    <tgroup cols="4">

Modified: traduc/trunk/postgresql/pgcrypto.xml
===================================================================
--- traduc/trunk/postgresql/pgcrypto.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/pgcrypto.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -227,10 +227,11 @@
     dit, un nombre trop important rend pratiquement impossible le calcul du
     hachage. Si le paramètre <parameter>iter_count</parameter> est omis,
     le nombre d'itération par défaut est utilisé. Les valeurs autorisées pour
-    <parameter>iter_count</parameter> dépendent de l'algorithme&nbsp;:
+    <parameter>iter_count</parameter> dépendent de l'algorithme et sont
+    affichées dans <xref linkend="pgcrypto-icfc-table"/>.
    </para>
 
-   <table>
+   <table id="pgcrypto-icfc-table">
     <title>Nombre d'itération pour <function>crypt()</function></title>
     <tgroup cols="4">
      <thead>
@@ -272,7 +273,7 @@
    </para>
 
    <para>
-    Voici une table qui devrait donner un aperçu de la lenteur relative de
+    <xref linkend="pgcrypto-hash-speed-table"/> donne un aperçu de la lenteur relative de
     différents algorithmes de hachage. La table montre le temps que prendrait
     le calcul de toutes les combinaisons réalisables pour un mot de passe sur
     huit caractères, en supposant que le mot de passe contient soit que des
@@ -282,7 +283,7 @@
     <function>gen_salt</function>.
    </para>
 
-   <table>
+   <table id="pgcrypto-hash-speed-table">
     <title>Vitesse de l'algorithm de hachage</title>
     <tgroup cols="4">
      <thead>
@@ -1263,8 +1264,7 @@
    suivantes&nbsp;:
   </para>
 
-  <table>
-   <title>Crédits</title>
+  <informaltable>
    <tgroup cols="3">
     <thead>
      <row>
@@ -1316,7 +1316,7 @@
      </row>
     </tbody>
    </tgroup>
-  </table>
+  </informaltable>
  </sect2>
 
 </sect1>

Modified: traduc/trunk/postgresql/pgrowlocks.xml
===================================================================
--- traduc/trunk/postgresql/pgrowlocks.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/pgrowlocks.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -26,10 +26,10 @@
   <para>
    Le paramètre est le nom d'une table. Le résultat est un ensemble
    d'enregistrements, avec une ligne pour chaque ligne verrouillée dans la
-   table. Les colonnes en sortie sont&nbsp;:
+   table. Les colonnes en sortie sont affichées dans <xref linkend="pgrowlocks-columns"/>.
   </para>
 
-  <table>
+  <table id="pgrowlocks-columns">
    <title>Colonnes de <function>pgrowlocks</function></title>
 
    <tgroup cols="3">

Modified: traduc/trunk/postgresql/pgstatstatements.xml
===================================================================
--- traduc/trunk/postgresql/pgstatstatements.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/pgstatstatements.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -34,10 +34,10 @@
    contient une ligne pour chaque texte de requête, identifiant de base de
    données et identifiant utilisateur distincts (jusqu'au nombre maximum
    d'ordres distincts que le module peut surveiller). Les colonnes de la vue
-   sont&nbsp;:
+   sont affichées dans <xref linkend="pgstatstatements-columns"/>.
   </para>
 
-  <table>
+  <table id="pgstatstatements-columns">
    <title>Colonnes de <structname>pg_stat_statements</structname></title>
 
    <tgroup cols="4">

Modified: traduc/trunk/postgresql/pgstattuple.xml
===================================================================
--- traduc/trunk/postgresql/pgstattuple.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/pgstattuple.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -33,7 +33,6 @@
       opération de VACUUM est nécessaire. L'argument est le nom de la relation
       cible (qui peut être qualifié par le nom du schéma).
       Par exemple&nbsp;:
-     </para>
      <programlisting>
 test=> SELECT * FROM pgstattuple('pg_catalog.pg_proc');
 -[ RECORD 1 ]------+-------
@@ -47,12 +46,10 @@
 free_space         | 8932
 free_percent       | 1.95
      </programlisting>
-
-    <para>
-     Voici les colonnes disponibles&nbsp;:
+     The output columns are described in <xref linkend="pgstattuple-columns"/>.
     </para>
 
-    <table>
+    <table id="pgstattuple-columns">
      <title>Colonnes de <function>pgstattuple</function></title>
      <tgroup cols="3">
       <thead>

Modified: traduc/trunk/postgresql/ref/declare.xml
===================================================================
--- traduc/trunk/postgresql/ref/declare.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/ref/declare.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -229,6 +229,20 @@
     donc <literal>SCROLL</literal> peut ne pas être indiqué dans ce cas.
    </para>
 
+   <caution>
+    <para>
+     Scrollable and <literal>WITH HOLD</literal> cursors may give unexpected
+     results if they invoke any volatile functions (see <xref
+     linkend="xfunc-volatility"/>).  When a previously fetched row is
+     re-fetched, the functions might be re-executed, perhaps leading to
+     results different from the first time.  One workaround for such cases
+     is to declare the cursor <literal>WITH HOLD</literal> and commit the
+     transaction before reading any rows from it.  This will force the
+     entire output of the cursor to be materialized in temporary storage,
+     so that volatile functions are executed exactly once for each row.
+    </para>
+   </caution>
+
    <para>
     Si la requête du curseur inclut les clauses <literal>FOR UPDATE</literal>
     ou <literal>FOR SHARE</literal>, alors les lignes renvoyées sont verrouillées

Modified: traduc/trunk/postgresql/release-8.4.xml
===================================================================
--- traduc/trunk/postgresql/release-8.4.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/release-8.4.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -9,7 +9,7 @@
 
   <note>
    <title>Release date</title>
-   <simpara>2009-??-??, ITEMS CURRENT AS OF 2009-05-14</simpara>
+   <simpara>2009-??-??, ITEMS CURRENT AS OF 2009-06-11</simpara>
   </note>
 
   <sect2>
@@ -290,7 +290,8 @@
        by means of Sort/Unique processing (i.e., sort then remove adjacent
        duplicates).  Now they can be implemented by hashing, which will not
        produce sorted output.  If an application relied on the output being
-       in sorted order, the recommended fix is to add an <literal>ORDER BY</literal>
+       in sorted order, the recommended fix is to add an <literal>ORDER
+BY</literal>
        clause.  As a short-term workaround, the previous behavior can be
        restored by disabling <literal>enable_hashagg</literal>, but that is a very
        performance-expensive fix.  <literal>SELECT DISTINCT ON</literal> never uses
@@ -927,6 +928,14 @@
 
       <listitem>
        <para>
+        When archiving is enabled, rotate the last WAL segment at shutdown
+        so that all transactions can be archived immediately
+        (Guillaume Smet, Heikki)
+       </para>
+      </listitem>
+
+      <listitem>
+       <para>
         Delay <quote>smart</quote> shutdown while a continuous archiving base backup
         is in progress (Laurenz Albe)
        </para>
@@ -1008,7 +1017,8 @@
       <listitem>
        <para>
         Add read-only configuration variables <varname>segment_size</varname>,
-        <varname>wal_block_size</varname>, and <varname>wal_segment_size</varname>
+        <varname>wal_block_size</varname>, and
+<varname>wal_segment_size</varname>
         (Bernd Helmle)
        </para>
       </listitem>
@@ -1701,7 +1711,8 @@
 
       <listitem>
        <para>
-        Add <literal>--freeze</literal> option to <application>vacuumdb</application>
+        Add <literal>--freeze</literal> option to
+<application>vacuumdb</application>
         (Bruce)
        </para>
       </listitem>
@@ -1796,7 +1807,8 @@
 
       <listitem>
        <para>
-        Make parsing of <type>interval</type> literals more standard-compliant (Tom)
+        Make parsing of <type>interval</type> literals more standard-compliant
+        (Tom, Ron Mayer)
        </para>
 
        <para>
@@ -2054,6 +2066,13 @@
 
       <listitem>
        <para>
+        Allow the second argument of <function>pg_get_expr()</function> to be zero
+        when deparsing an expression that does not contain variables (Tom)
+       </para>
+      </listitem>
+
+      <listitem>
+       <para>
         Modify <function>pg_relation_size()</function> to use <literal>regclass</literal>
         (Heikki)
        </para>
@@ -2111,13 +2130,27 @@
       <listitem>
        <para>
         Fix the behavior of information schema columns
-        <literal>is_insertable_into</literal> and <literal>is_updatable</literal> to
+        <structfield>is_insertable_into</structfield> and <structfield>is_updatable</structfield> to
         be consistent (Peter)
        </para>
       </listitem>
 
       <listitem>
        <para>
+        Improve the behavior of information schema
+        <structfield>datetime_precision</structfield> columns (Peter)
+       </para>
+
+       <para>
+        These columns now show zero for <type>date</type> columns, and 6
+        (the default precision) for <type>time</type>, <type>timestamp</type>, and
+        <type>interval</type> without a declared precision, rather than showing
+        null as formerly.
+       </para>
+      </listitem>
+
+      <listitem>
+       <para>
         Convert remaining builtin set-returning functions to use
         <literal>OUT</literal> parameters (Jaime Casanova)
        </para>
@@ -2306,6 +2339,14 @@
         Make processing of string literals and nested block comments
         match the main SQL parser's processing (Tom)
        </para>
+
+       <para>
+        In particular, the format string in <command>RAISE</command> now works
+        the same as any other string literal, including being subject
+        to <varname>standard_conforming_strings</varname>.  This change also
+        fixes other cases in which valid commands would fail when
+        <varname>standard_conforming_strings</varname> is on.
+       </para>
       </listitem>
 
       <listitem>
@@ -2706,12 +2747,18 @@
 
       <listitem>
        <para>
-        Make Kerberos connections use the same method to determine the
-        username of the client as all other authentication methods (Magnus)
+        Do not rely on Kerberos tickets to determine the default database
+        username (Magnus)
        </para>
 
        <para>
-        Previously a special Kerberos-only API was used.
+        Previously, a Kerberos-capable build of libpq would use the
+        principal name from any available Kerberos ticket as default
+        database username, even if the connection wasn't using Kerberos
+        authentication.  This was deemed inconsistent and confusing.
+        The default username is now determined the same way with or
+        without Kerberos.  Note however that the database username must still
+        match the ticket when Kerberos authentication is used.
        </para>
       </listitem>
      </itemizedlist>
@@ -3271,6 +3318,13 @@
 
      <listitem>
       <para>
+       Enable <filename>contrib/dblink</filename> to use connection information
+       stored in the SQL/MED catalogs (Joe Conway)
+      </para>
+     </listitem>
+
+     <listitem>
+      <para>
        Improve <filename>contrib/dblink</filename>'s reporting of errors from
        the remote server (Joe Conway)
       </para>
@@ -3278,6 +3332,18 @@
 
      <listitem>
       <para>
+       Make <filename>contrib/dblink</filename> set <varname>client_encoding</varname>
+       to match the local database's encoding (Joe Conway)
+      </para>
+
+      <para>
+       This prevents encoding problems when communicating with a remote
+       database that uses a different encoding.
+      </para>
+     </listitem>
+
+     <listitem>
+      <para>
        Make sure <filename>contrib/dblink</filename> uses a password supplied
        by the user, and not accidentally taken from the server's
        <filename>.pgpass</filename> file (Joe Conway)
@@ -3320,20 +3386,6 @@
 
      <listitem>
       <para>
-       Remove <filename>contrib/intarray</filename>'s definitions of the
-       <literal>&lt;@</literal> and <literal>@&gt;</literal> operators (Tom)
-      </para>
-
-      <para>
-       This avoids confusion with the equivalent built-in operators.
-       If needed, the <filename>contrib/intarray</filename> implementations
-       are still available under their historical names <literal>@</literal>
-       and <literal>~</literal>.
-      </para>
-     </listitem>
-
-     <listitem>
-      <para>
        Make <filename>contrib/pg_standby</filename> recover all available WAL before
        failover (Fujii Masao, Simon, Heikki)
       </para>
@@ -3341,7 +3393,7 @@
       <para>
        To make this work safely, you now need to set the new
        <literal>recovery_end_command</literal> option in <filename>recovery.conf</filename>
-       to clean up the trigger file after failover. <application>pg_standby</application>
+       to clean up the trigger file after failover.  <application>pg_standby</application>
        will no longer remove the trigger file itself.
       </para>
      </listitem>

Modified: traduc/trunk/postgresql/seg.xml
===================================================================
--- traduc/trunk/postgresql/seg.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/seg.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -98,14 +98,14 @@
   </para>
 
   <para>
-   Dans la table suivante, <replaceable>x</replaceable>,
+   Dans <xref linkend="seg-repr-table"/>, <replaceable>x</replaceable>,
    <replaceable>y</replaceable> et <replaceable>delta</replaceable> dénotent
    des nombres à virgule flottante. <replaceable>x</replaceable> et
    <replaceable>y</replaceable>, mais pas <replaceable>delta</replaceable>,
    peuvent être précédés par un indicateur de certitude&nbsp;:
   </para>
 
-  <table>
+  <table id="seg-repr-table">
    <title>Représentations externes de <type>seg</type></title>
    <tgroup cols="2">
     <tbody>

Modified: traduc/trunk/postgresql/sources.xml
===================================================================
--- traduc/trunk/postgresql/sources.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/sources.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -206,6 +206,19 @@
    </listitem>
    <listitem>
     <para>
+     <function>errmsg_plural(const char *fmt_singular, const char *fmt_plural,
+     unsigned long n, ...)</function> is like <function>errmsg</function>, but with
+     support for various plural forms of the message.
+     <replaceable>fmt_singular</replaceable> is the English singular format,
+     <replaceable>fmt_plural</replaceable> is the English plural format,
+     <replaceable>n</replaceable> is the integer value that determines which plural
+     form is needed, and the remaining arguments are formatted according
+     to the selected format string.  For more information see
+     <xref linkend="nls-guidelines"/>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
      <function>errdetail(const char *msg, ...)</function> fournit un message
      <quote>détail</quote> optionnel&nbsp;; cela est utilisé quand il y a des
      informations supplémentaires qu'il semble inadéquat de mettre
@@ -227,6 +240,14 @@
    </listitem>
    <listitem>
     <para>
+     <function>errdetail_plural(const char *fmt_singular, const char *fmt_plural,
+     unsigned long n, ...)</function> is like <function>errdetail</function>, but with
+     support for various plural forms of the message.
+     For more information see <xref linkend="nls-guidelines"/>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
     <function>errhint(const char *msg, ...)</function> fournit un message
      <quote>conseil</quote> optionnel&nbsp;; cela est utilisé pour offrir des
      suggestions sur la façon de régler un problème, par opposition aux

Modified: traduc/trunk/postgresql/storage.xml
===================================================================
--- traduc/trunk/postgresql/storage.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/storage.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -143,11 +143,12 @@
 Chaque table et index sont stockés dans un fichier séparé, nommé d'après le
 numéro <firstterm>filenode</firstterm> de la table ou de l'index, lequel se trouve dans
 <structname>pg_class</structname>.<structfield>relfilenode</structfield>. En
-plus du fichier principal (appelé aussi «&nbsp;main fork&nbsp;»), une
-<firstterm>carte des espaces libres</firstterm> (voir
-<xref linkend="storage-fsm"/>) stockant les informations sur les espaces libres
-disponibles dans la relation, est stockée dans un fichier nommé d'après le numéro
-relfilenode avec <literal>_fsm</literal> comme suffixe.
+plus du fichier principal (appelé aussi «&nbsp;main fork&nbsp;»), each table and index has a <firstterm>free space
+map</firstterm> (see <xref linkend="storage-fsm"/>), which stores information about free
+space available in the relation.  The free space map is stored in a file named
+with the filenode number plus the suffix <literal>_fsm</literal>.  Tables also have a
+visibility map fork, with the suffix <literal>_vm</literal>, to track which pages are
+known to have no dead tuples and therefore need no vacuuming.
 </para>
 
 <caution>
@@ -170,6 +171,8 @@
 (Actuellement, 1&nbsp;Go est la taille du segment par défaut. Cette taille est
 ajustable en utilisant l'option <option>--with-segsize</option> pour configure
 avant de construire <productname>PostgreSQL</productname>.)
+In principle, free space map and visibility map forks could require multiple
+segments as well, though this is unlikely to happen in practice.
 Le contenu des tables et des index est discuté plus
 en détails dans <xref linkend="storage-page-layout"/>.
 </para>
@@ -208,7 +211,7 @@
 indiqué pour eux. Le nom du fichier temporaire est de la forme
 <filename>pgsql_tmp<replaceable>PPP</replaceable>.<replaceable>NNN</replaceable></filename>,
 où <replaceable>PPP</replaceable> est le PID du serveur propriétaire et
-<replaceable>NNN</replaceable> distingue les différents fichiers de ce
+<replaceable>NNN</replaceable> distingue les différents fichiers temporaires de ce
 serveur.
 </para>
 
@@ -407,22 +410,18 @@
 
 <title>Carte des espaces libres</title>
 
-    <indexterm>
-     <primary>Free Space Map</primary>
-    </indexterm>
-    <indexterm>
-     <primary>Carte des espaces libres</primary>
-    </indexterm>
-    <indexterm><primary>FSM</primary><see>Free Space Map</see></indexterm>
+<indexterm>
+ <primary>Free Space Map</primary>
+</indexterm>
+<indexterm><primary>FSM</primary><see>Free Space Map</see></indexterm>
 
 <para>
-Une carte des espaces libres est stockée pour chaque relation, de type table et
-index (sauf pour les index hash). Elle conserve la trace des espaces disponibles
-dans la relation. Elle est stockée avec les données de la relation, dans un
-fichier séparé, nommé d'après le relfilenode de la relation, mais avec un
-suffixe <literal>_fsm</literal>. Par exemple, si le relfilenode d'une relation
-est 12345, la FSM est stockée dans un fichier appelé <filename>12345_fsm</filename>,
-dans le même répertoire que le fichier principal de la relation.
+Each heap and index relation, except for hash indexes, has a Free Space Map
+(FSM) to keep track of available space in the relation. It's stored
+alongside the main relation data in a separate relation fork, named after the
+filenode number of the relation, plus a <literal>_fsm</literal> suffix. For example,
+if the filenode of a relation is 12345, the FSM is stored in a file called
+<filename>12345_fsm</filename>, in the same directory as the main relation file.
 </para>
 
 <para>
@@ -443,9 +442,10 @@
 <para>
 Voir <filename>src/backend/storage/freespace/README</filename> pour plus de
 détails sur la façon dont la <acronym>FSM</acronym> est structurée, et comment
-elle est mise à jour et recherchée. Le module contrib <xref
-linkend="pgfreespacemap"/> peut être utilisé pour visualiser l'information
-stockée dans les cartes d'espace libre.
+elle est mise à jour et recherchée. Le module contrib
+<filename>contrib/pg_freespacemap</filename> peut être utilisé pour examiner
+l'information stockée dans les cartes d'espace libre (voir <xref
+linkend="pgfreespacemap"/>).
 </para>
 
 </sect1>

Modified: traduc/trunk/postgresql/trigger.xml
===================================================================
--- traduc/trunk/postgresql/trigger.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/trigger.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -262,6 +262,14 @@
    </para>
 
    <para>
+    If your trigger function is written in any of the standard procedural
+    languages, then the above statements apply only if the function is
+    declared <literal>VOLATILE</literal>.  Functions that are declared
+    <literal>STABLE</literal> or <literal>IMMUTABLE</literal> will not see changes made by
+    the calling command in any case.
+   </para>
+
+   <para>
     Il existe plus d'informations sur les règles de visibilité des données dans
     la <xref linkend="spi-visibility"/>. L'exemple dans la <xref
     linkend="trigger-example"/> contient une démonstration de ces règles.

Modified: traduc/trunk/postgresql/version.xml
===================================================================
--- traduc/trunk/postgresql/version.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/version.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -1,2 +1,2 @@
-<!ENTITY version "8.4beta2">
+<!ENTITY version "8.4RC1">
 <!ENTITY majorversion "8.4">

Modified: traduc/trunk/postgresql/xfunc.xml
===================================================================
--- traduc/trunk/postgresql/xfunc.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/xfunc.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -1145,6 +1145,12 @@
     <literal>currval()</literal>, <literal>timeofday()</literal>.
   </para>
 
+   <para>
+    Another important example is that the <function>current_timestamp</function>
+    family of functions qualify as <literal>STABLE</literal>, since their values do
+    not change within a transaction.
+   </para>
+
   <para>
     Il y a relativement peu de différences entre les catégories 
     <literal>STABLE</literal> et <literal>IMMUTABLE</literal> en considérant les requêtes
@@ -1162,18 +1168,35 @@
     <application>PL/pgSQL</application>).
   </para>
 
+   <para>
+    For functions written in SQL or in any of the standard procedural
+    languages, there is a second important property determined by the
+    volatility category, namely the visibility of any data changes that have
+    been made by the SQL command that is calling the function.  A
+    <literal>VOLATILE</literal> function will see such changes, a <literal>STABLE</literal>
+    or <literal>IMMUTABLE</literal> function will not.  This behavior is implemented
+    using the snapshotting behavior of MVCC (see <xref linkend="mvcc"/>):
+    <literal>STABLE</literal> and <literal>IMMUTABLE</literal> functions use a snapshot
+    established as of the start of the calling query, whereas
+    <literal>VOLATILE</literal> functions obtain a fresh snapshot at the start of
+    each query they execute.
+   </para>
+
+   <note>
+    <para>
+     Functions written in C can manage snapshots however they want, but it's
+     usually a good idea to make C functions work this way too.
+    </para>
+   </note>
+
   <para>
-    À cause du comportement à base d'images de MVCC (voir le <xref
-    linkend="mvcc"/>), une fonction contenant seulement des commandes
+    À cause du comportement à base d'images, une fonction contenant seulement des commandes
     <command>SELECT</command> peut être indiquée <literal>STABLE</literal> en toute sécurité
     même s'il sélectionne des données à partir de tables qui pourraient
     avoir subi des modifications entre temps par des requêtes concurrentes.
-    <productname>PostgreSQL</productname> exécutera une fonction
+    <productname>PostgreSQL</productname> exécutera toutes les commandes d'une fonction
     <literal>STABLE</literal> en utilisant l'image établie par la requête appelante et
     n'aura qu'une vision figée de la base de données au cours de la requête.
-    Notez aussi que la famille de fonctions <function>current_timestamp</function>
-    est qualifiée de stable car leurs valeurs ne changent pas dans une
-    transaction.
   </para>
 
   <para>
@@ -1199,7 +1222,8 @@
       Avant <productname>PostgreSQL</productname> version 8.0, le prérequis
       que les fonctions <literal>STABLE</literal> et
       <literal>IMMUTABLE</literal> ne pouvaient pas modifier la base de données
-      n'était pas contraint par le système. La version 8.0 le contraint en
+      n'était pas contraint par le système. Les versions 8.0 et ultérieures le
+      contraignent en
       réclamant que les fonctions SQL et les fonctions de langages de
       procédures de ces catégories ne contiennent pas de commandes SQL autre
       que <command>SELECT</command> (ceci n'a pas été complètement testé car de
@@ -1207,7 +1231,7 @@
       <literal>VOLATILE</literal> qui modifient la base de données. Si vous le
       faites, vous trouverez que la fonction <literal>STABLE</literal> ou
       <literal>IMMUTABLE</literal> n'est pas au courant des modifications
-      effectuées sur la base de données par la fonction appelée).
+      effectuées sur la base de données par la fonction appelée, since they are hidden from its snapshot).
     </para>
   </note>
   </sect1>

Modified: traduc/trunk/postgresql/xml2.xml
===================================================================
--- traduc/trunk/postgresql/xml2.xml	2009-06-12 16:00:39 UTC (rev 1343)
+++ traduc/trunk/postgresql/xml2.xml	2009-06-12 21:17:42 UTC (rev 1344)
@@ -37,12 +37,13 @@
   <title>Description des fonctions</title>
 
   <para>
+   <xref linkend="xml2-functions-table"/> shows the functions provided by this module.
    Ces fonctions fournissent une analyse XML et les requêtes XPath. Tous les
    arguments sont du type <type>text</type>, ce n'est pas affiché pour que
    ce soit plus court.
   </para>
 
-  <table>
+  <table id="xml2-functions-table">
    <title>Fonctions</title>
    <tgroup cols="2">
     <tbody>



Plus d'informations sur la liste de diffusion Trad