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

admin at listes.postgresql.fr admin at listes.postgresql.fr
Dim 26 Avr 23:32:49 CEST 2009


Author: gleu
Date: 2009-04-26 23:32:49 +0200 (Sun, 26 Apr 2009)
New Revision: 1309

Modified:
   traduc/trunk/postgresql/Makefile
   traduc/trunk/postgresql/btree-gin.xml
   traduc/trunk/postgresql/func.xml
   traduc/trunk/postgresql/pgstatstatements.xml
   traduc/trunk/postgresql/queries.xml
   traduc/trunk/postgresql/ref/alter_foreign_data_wrapper.xml
   traduc/trunk/postgresql/ref/alter_server.xml
   traduc/trunk/postgresql/ref/alter_user_mapping.xml
   traduc/trunk/postgresql/ref/psql-ref.xml
   traduc/trunk/postgresql/ref/revoke.xml
   traduc/trunk/postgresql/ref/select.xml
Log:
Traduction 8.4 : suite du travail de Marc et Florence Cousin.


Modified: traduc/trunk/postgresql/Makefile
===================================================================
--- traduc/trunk/postgresql/Makefile	2009-04-26 11:58:08 UTC (rev 1308)
+++ traduc/trunk/postgresql/Makefile	2009-04-26 21:32:49 UTC (rev 1309)
@@ -153,6 +153,7 @@
 	xsltproc $(XSLROOTDIR)/manpages/docbook.xsl \
 		standalone-manpages.xml
 	[ -d man/man1 ] || mkdir -p man/man1
+	[ -d man/man7 ] || mkdir -p man/man7
 	mv *.1 man/man1
 	mv *.7 man/man7
 	recode iso-8859-15..utf-8 man/man1/*.1 man/man7/*.7

Modified: traduc/trunk/postgresql/btree-gin.xml
===================================================================
--- traduc/trunk/postgresql/btree-gin.xml	2009-04-26 11:58:08 UTC (rev 1308)
+++ traduc/trunk/postgresql/btree-gin.xml	2009-04-26 21:32:49 UTC (rev 1309)
@@ -1,4 +1,8 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/btree-gin.sgml,v 1.1 2009-03-25 23:20:01 tgl Exp $ -->
+<?xml version="1.0" encoding="ISO-8859-15"?>
+<!-- Dernière modification
+     le       $Date$
+     par      $Author$
+     révision $Revision$ -->
 
 <sect1 id="btree-gin">
  <title>btree_gin</title>
@@ -8,50 +12,51 @@
  </indexterm>
 
  <para>
-  <filename>btree_gin</filename> provides sample GIN operator classes that
-  implement B-Tree equivalent behavior for the data types
+  <filename>btree_gin</filename> fournit des échantillons de classes d'opérateurs
+  GIN qui implémentent un comportement équivalent à un B-Tree pour les types
   <type>int2</type>, <type>int4</type>, <type>int8</type>, <type>float4</type>,
   <type>float8</type>, <type>timestamp with time zone</type>,
   <type>timestamp without time zone</type>, <type>time with time zone</type>,
   <type>time without time zone</type>, <type>date</type>, <type>interval</type>,
   <type>oid</type>, <type>money</type>, <type>"char"</type>,
   <type>varchar</type>, <type>text</type>, <type>bytea</type>, <type>bit</type>,
-  <type>varbit</type>, <type>macaddr</type>, <type>inet</type>, and
+  <type>varbit</type>, <type>macaddr</type>, <type>inet</type>, et
   <type>cidr</type>.
  </para>
 
  <para>
-  In general, these operator classes will not outperform the equivalent
-  standard btree index methods, and they lack one major feature of the
-  standard btree code: the ability to enforce uniqueness.  However,
-  they are useful for GIN testing and as a base for developing other
-  GIN operator classes.  Also, for queries that test both a GIN-indexable
-  column and a btree-indexable column, it might be more efficient to create
-  a multi-column GIN index that uses one of these opclasses than to create
-  two separate indexes that would have to be combined via bitmap ANDing.
+  En général, ces classes d'opérateurs ne seront pas plus rapides que
+  les méthodes standards d'indexation btree équivalentes, et il leur manquera
+  une fonctionnalité majeure du code btree standard&nbsp;: la capacité à forcer
+  l'unicité. Toutefois, elles sont utiles pour tester GIN et comme base pour
+  développer d'autres classes d'opérateurs GIN. Par ailleurs, pour des requêtes
+  qui testent à la fois une colonnne indexable via GIN et une colonne indexable
+  par btree, il peut être plus efficace de créer un index GIN multicolonne
+  qui utilise une de ces classes d'opérateurs que de créer deux index séparés
+  qui devront être combinés via une opération de bitmap ET.
  </para>
 
  <sect2>
-  <title>Example usage</title>
+  <title>Exemple d'utilisation</title>
 
 <programlisting>
 CREATE TABLE test (a int4);
 -- create index
 CREATE INDEX testidx ON test USING gin (a);
--- query
+-- requête
 SELECT * FROM test WHERE a &lt; 10;
 </programlisting>
 
  </sect2>
 
  <sect2>
-  <title>Authors</title>
+  <title>Auteurs</title>
 
   <para>
-   Teodor Sigaev (<email>teodor at stack.net</email>) and
-   Oleg Bartunov (<email>oleg at sai.msu.su</email>).  See
-   <ulink url="http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin"></ulink>
-   for additional information.
+   Teodor Sigaev (<email>teodor at stack.net</email>) et Oleg Bartunov
+   (<email>oleg at sai.msu.su</email>). Voir <ulink
+   url="http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin"></ulink> pour plus
+   d'informations.
   </para>
 
  </sect2>

Modified: traduc/trunk/postgresql/func.xml
===================================================================
--- traduc/trunk/postgresql/func.xml	2009-04-26 11:58:08 UTC (rev 1308)
+++ traduc/trunk/postgresql/func.xml	2009-04-26 21:32:49 UTC (rev 1309)
@@ -742,7 +742,7 @@
        <entry><literal><function>div</function>(<parameter>y</parameter> <type>numeric</type>,
         <parameter>x</parameter> <type>numeric</type>)</literal></entry>
        <entry><type>numeric</type></entry>
-       <entry>integer quotient of <parameter>y</parameter>/<parameter>x</parameter></entry>
+       <entry>quotient entier de <parameter>y</parameter>/<parameter>x</parameter></entry>
        <entry><literal>div(9,4)</literal></entry>
        <entry><literal>2</literal></entry>
       </row>
@@ -1650,7 +1650,7 @@
 	nécessaires (c'est-à-dire si la chaîne contient des caractères autres
 	que ceux de l'identifiant ou qu'il peut y avoir un problème de casse).
 	Les guillemets compris dans la chaîne sont correctement doublés.
-        See also <xref linkend="plpgsql-quote-literal-example"/>.
+        Voir aussi <xref linkend="plpgsql-quote-literal-example"/>.
        </entry>
        <entry><literal>quote_ident('Foo bar')</literal></entry>
        <entry><literal>"Foo bar"</literal></entry>
@@ -5157,12 +5157,12 @@
        </row>
        <row>
         <entry><literal>BC</literal>, <literal>bc</literal>,
-        <literal>AD</literal> or <literal>ad</literal></entry>
+        <literal>AD</literal> ou <literal>ad</literal></entry>
         <entry>indicateur de l'ère (sans point)</entry>
        </row>
        <row>
         <entry><literal>B.C.</literal>, <literal>b.c.</literal>,
-        <literal>A.D.</literal> or <literal>a.d.</literal></entry>
+        <literal>A.D.</literal> ou <literal>a.d.</literal></entry>
         <entry>indicateur de l'ère (avec des points)</entry>
        </row>
        <row>
@@ -6239,7 +6239,7 @@
        <row>
         <entry><literal><function>isfinite</function>(<type>date</type>)</literal></entry>
         <entry><type>boolean</type></entry>
-        <entry>Test for finite date (not +/-infinity)</entry>
+        <entry>Test si la date est finie (donc différent de +/-infinity)</entry>
         <entry><literal>isfinite(date '2001-02-16')</literal></entry>
         <entry><literal>true</literal></entry>
        </row>
@@ -8107,7 +8107,7 @@
        </row>
        <row>
         <entry> <literal>@@@</literal> </entry>
-        <entry>deprecated synonym for <literal>@@</literal></entry>
+        <entry>synonym obsolète de <literal>@@</literal></entry>
         <entry><literal>to_tsvector('fat cats ate rats') @@@ to_tsquery('cat &amp; rat')</literal></entry>
         <entry><literal>t</literal></entry>
        </row>
@@ -11457,7 +11457,7 @@
     Cette section décrit des fonctions qui peuvent renvoyer plus d'une
     ligne. Actuellement, les seules fonctions dans cette classe sont les
     fonctions de génération de séries, détaillées dans le <xref
-    linkend="functions-srf-series"/> and
+    linkend="functions-srf-series"/> et
    <xref linkend="functions-srf-subscripts"/>.
   </para>
     
@@ -11863,7 +11863,7 @@
         <para>
           <function>current_catalog</function>, <function>current_schema</function>,
      <function>current_user</function>, <function>session_user</function>,
-     and <function>user</function>
+     et <function>user</function>
           ont un statut syntaxique spécial en
           <acronym>SQL</acronym>&nbsp;: ils doivent être appelés sans
           parenthèses à droite (optional in PostgreSQL in the case
@@ -12357,7 +12357,7 @@
     <function>pg_has_role</function> vérifie si l'utilisateur possède
     un privilège particulier d'accès à un rôle. Ses arguments sont
     analogues à <function>has_table_privilege</function>. Le privilège
-    doit être un combinaison de <literal>MEMBER</literal> et <literal>USAGE</literal>.
+    doit être une combinaison de <literal>MEMBER</literal> et <literal>USAGE</literal>.
     <literal>MEMBER</literal> indique une appartenance directe ou indirecte au
     rôle (c'est-à-dire le droit d'exécuter <literal>SET ROLE</literal>) alors que
     <literal>USAGE</literal> indique que les droits du rôle sont
@@ -13234,9 +13234,9 @@
    </para>
 
    <para>
-    <function>pg_cancel_backend</function> and
+    <function>pg_cancel_backend</function> et
     <function>pg_terminate_backend</function> envoie un signal
-    (respectivement <systemitem>SIGINT</systemitem> or
+    (respectivement <systemitem>SIGINT</systemitem> ou
     <systemitem>SIGTERM</systemitem>) au processus serveur identifié
     par l'ID du processus. L'identifiant du processus serveur actif
     peut être trouvé dans la colonne <structfield>procpid</structfield>
@@ -13883,6 +13883,7 @@
    </para>
 
   </sect1>
+  
   <sect1 id="functions-trigger">
    <title>Trigger Functions</title>
 

Modified: traduc/trunk/postgresql/pgstatstatements.xml
===================================================================
--- traduc/trunk/postgresql/pgstatstatements.xml	2009-04-26 11:58:08 UTC (rev 1308)
+++ traduc/trunk/postgresql/pgstatstatements.xml	2009-04-26 21:32:49 UTC (rev 1309)
@@ -1,4 +1,8 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/pgstatstatements.sgml,v 1.1 2009-01-04 22:19:59 tgl Exp $ -->
+<?xml version="1.0" encoding="ISO-8859-15"?>
+<!-- Dernière modification
+     le       $Date$
+     par      $Author$
+     révision $Revision$ -->
 
 <sect1 id="pgstatstatements">
  <title>pg_stat_statements</title>
@@ -8,37 +12,40 @@
  </indexterm>
 
  <para>
-  The <filename>pg_stat_statements</filename> module provides a means for
-  tracking execution statistics of all SQL statements executed by a server.
+  Le module <filename>pg_stat_statements</filename> fournit un moyen de 
+  surveiller les statistiques d'exécution de tous les ordres SQL
+  exécutés par un serveur.
  </para>
 
  <para>
-  The module must be loaded by adding <literal>pg_stat_statements</literal> to
-  <xref linkend="guc-shared-preload-libraries"/> in
-  <filename>postgresql.conf</filename>, because it requires additional shared memory.
-  This means that a server restart is needed to add or remove the module.
+  Le module doit être chargé par l'ajout de <literal>pg_stat_statements</literal>
+  à <xref linkend="guc-shared-preload-libraries"/> dans
+  <filename>postgresql.conf</filename> parce qu'il a besoin de mémoire partagée
+  supplémentaire. Ceci signifie qu'il faut redémarrer le serveur pour ajouter
+  ou supprimer le module.
  </para>
 
  <sect2>
-  <title>The <structname>pg_stat_statements</structname> view</title>
+  <title>La vue <structname>pg_stat_statements</structname></title>
 
   <para>
-   The statistics gathered by the module are made available via a system view
-   named <structname>pg_stat_statements</structname>.  This view contains one row for
-   each distinct query text, database ID, and user ID (up to the maximum
-   number of distinct statements that the module can track).  The columns
-   of the view are:
+   Les statistiques collectées par le module sont rendues disponibles par une
+   vue système nommée <structname>pg_stat_statements</structname>. Cette vue
+   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;:
   </para>
 
   <table>
-   <title><structname>pg_stat_statements</structname> columns</title>
+   <title>Colonnes de <structname>pg_stat_statements</structname></title>
 
    <tgroup cols="4">
     <thead>
      <row>
-      <entry>Name</entry>
+      <entry>Nom</entry>
       <entry>Type</entry>
-      <entry>References</entry>
+      <entry>Référence</entry>
       <entry>Description</entry>
      </row>
     </thead>
@@ -47,42 +54,42 @@
       <entry><structfield>userid</structfield></entry>
       <entry><type>oid</type></entry>
       <entry><literal><link linkend="catalog-pg-authid"><structname>pg_authid</structname></link>.oid</literal></entry>
-      <entry>OID of user who executed the statement</entry>
+      <entry>OID de l'utilisateur qui a exécuté l'ordre SQL</entry>
      </row>
 
      <row>
       <entry><structfield>dbid</structfield></entry>
       <entry><type>oid</type></entry>
       <entry><literal><link linkend="catalog-pg-database"><structname>pg_database</structname></link>.oid</literal></entry>
-      <entry>OID of database in which the statement was executed</entry>
+      <entry>OID de la base de données dans laquelle l'ordre SQL a été exécuté</entry>
      </row>
 
     <row>
       <entry><structfield>query</structfield></entry>
       <entry><type>text</type></entry>
       <entry></entry>
-      <entry>Text of the statement (up to <xref linkend="guc-track-activity-query-size"/> bytes)</entry>
+      <entry>Texte de l'ordre SQL (jusqu'à <xref linkend="guc-track-activity-query-size"/> octets)</entry>
      </row>
 
      <row>
       <entry><structfield>calls</structfield></entry>
       <entry><type>bigint</type></entry>
       <entry></entry>
-      <entry>Number of times executed</entry>
+      <entry>Nombre d'exécutions</entry>
      </row>
 
      <row>
       <entry><structfield>total_time</structfield></entry>
       <entry><type>double precision</type></entry>
       <entry></entry>
-      <entry>Total time spent in the statement, in seconds</entry>
+      <entry>Durée d'exécution de l'instruction SQL, en secondes</entry>
      </row>
 
      <row>
       <entry><structfield>rows</structfield></entry>
       <entry><type>bigint</type></entry>
       <entry></entry>
-      <entry>Total number of rows retrieved or affected by the statement</entry>
+      <entry>Nombre total de lignes renvoyées ou affectées par l'ordre SQL</entry>
      </row>
 
     </tbody>
@@ -90,30 +97,32 @@
   </table>
 
   <para>
-   This view, and the function <function>pg_stat_statements_reset</function>,
-   are available only in databases they have been specifically installed into
-   by running the <filename>pg_stat_statements.sql</filename> install script.
-   However, statistics are tracked across all databases of the server
-   whenever the <filename>pg_stat_statements</filename> module is loaded
-   into the server, regardless of presence of the view.
+   Cette vue, et la fonction <function>pg_stat_statements_reset</function>,
+   sont disponibles seulement dans les bases de données dans lesquelles elles 
+   ont été installées spécifiquement via l'exécution du script d'installation
+   <filename>pg_stat_statements.sql</filename>. Cependant, 
+   si le module <filename>pg_stat_statements</filename> est chargé sur le
+   serveur, les statistiques sont pistées à travers toutes les bases de données
+   du serveur, sans tenir compte de la présence de la vue.
   </para>
 
   <para>
-   For security reasons, non-superusers are not allowed to see the text of
-   queries executed by other users.  They can see the statistics, however,
-   if the view has been installed in their database.
+   Pour des raisons de sécurité, les utilisateurs qui ne sont pas
+   super-utilisateurs ne sont pas autorisés à voir le texte des requêtes
+   exécutées par les autres utilisateurs. Ils peuvent cependant voir les
+   statistiques si la vue a été installée sur leur base de données.
   </para>
 
   <para>
-   Note that statements are considered the same if they have the same text,
-   regardless of the values of any out-of-line parameters used in the
-   statement.  Using out-of-line parameters will help to group statements
-   together and may make the statistics more useful.
+   Notez que les ordres SQL sont considérés identiques s'ils ont le même texte,
+   quelles que soient les valeurs des variables de substitution utilisées dans
+   les ordres SQL. L'utilisation des variables liées va aider à regrouper les
+   ordres SQL et rendre les statistiques plus utiles.
   </para>
  </sect2>
 
  <sect2>
-  <title>Functions</title>
+  <title>Fonctions</title>
 
   <variablelist>
    <varlistentry>
@@ -123,9 +132,10 @@
 
     <listitem>
      <para>
-      <function>pg_stat_statements_reset</function> discards all statistics
-      gathered so far by <filename>pg_stat_statements</filename>.
-      By default, this function can only be executed by superusers.
+      <function>pg_stat_statements_reset</function> ignore toutes les
+      statistiques collectées jusque-là par
+      <filename>pg_stat_statements</filename>. Par défaut, cette fonction peut
+      uniquement être exécutée par les super-utilisateurs.
      </para>
     </listitem>
    </varlistentry>
@@ -134,7 +144,7 @@
  </sect2>
 
  <sect2>
-  <title>Configuration parameters</title>
+  <title>Paramètres de configuration</title>
 
   <variablelist>
    <varlistentry>
@@ -144,13 +154,12 @@
 
     <listitem>
      <para>
-      <varname>pg_stat_statements.max</varname> is the maximum number of
-      statements tracked by the module (i.e., the maximum number of rows
-      in the <structname>pg_stat_statements</structname> view).  If more distinct
-      statements than that are observed, information about the least-executed
-      statements is discarded.
-      The default value is 1000.
-      This parameter can only be set at server start.
+      <varname>pg_stat_statements.max</varname> est le nombre maximum d'ordres
+      tracés par le module (c'est-à-dire le nombre maximum de lignes dans la
+      vue <structname>pg_stat_statements</structname>). Si un nombre supérieur
+      d'ordres SQL distincts a été observé, c'est l'information sur les ordres
+      les moins exécutés qui est ignorée. La valeur par défaut est 1000.
+      Ce paramètre peut uniquement être positionné au démarrage du serveur.
      </para>
     </listitem>
    </varlistentry>
@@ -162,14 +171,14 @@
 
     <listitem>
      <para>
-      <varname>pg_stat_statements.track</varname> controls which statements
-      are counted by the module.
-      Specify <literal>top</literal> to track top-level statements (those issued
-      directly by clients), <literal>all</literal> to also track nested statements
-      (such as statements invoked within functions), or <literal>none</literal> to
-      disable.
-      The default value is <literal>top</literal>.
-      Only superusers can change this setting.
+      <varname>pg_stat_statements.track</varname> contrôle quels sont les ordres
+      comptabilisés par le module. Spécifiez <literal>top</literal> pour suivre
+      les ordres de plus haut niveau (ceux qui sont soumis directement par les
+      clients), <literal>all</literal> pour suivre également les ordres
+      imbriqués (tels que les ordres invoqués dans les fonctions) ou
+      <literal>none</literal> pour désactiver. La valeur par défaut est
+      <literal>top</literal>.
+      Seuls les super-utilisateurs peuvent changer ce paramétrage.
      </para>
     </listitem>
    </varlistentry>
@@ -181,33 +190,33 @@
 
     <listitem>
      <para>
-      <varname>pg_stat_statements.save</varname> specifies whether to
-      save statement statistics across server shutdowns.
-      If it is <literal>off</literal> then statistics are not saved at
-      shutdown nor reloaded at server start.
-      The default value is <literal>on</literal>.
-      This parameter can only be set in the
-      <filename>postgresql.conf</filename>
-      file or on the server command line.
+      <varname>pg_stat_statements.save</varname> précise s'il faut sauvegarder
+      les statistiques lors des arrêts du serveur. S'il est
+      <literal>off</literal>, alors les statistiques ne sont pas sauvegardées
+      lors de l'arrêt ni rechargées au démarrage du serveur. La valeur par
+      défaut est <literal>on</literal>.
+      Ce paramètre peut uniquement être positionné dans le fichier
+      <filename>postgresql.conf</filename> ou sur la ligne de commande du
+      serveur.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
 
   <para>
-   The module requires additional shared memory amounting to about
+   Le module a besoin de mémoire partagée supplémentaire d'environ
    <varname>pg_stat_statements.max</varname> <literal>*</literal>
-   <xref linkend="guc-track-activity-query-size"/> bytes.  Note that this
-   memory is consumed whenever the module is loaded, even if
-   <varname>pg_stat_statements.track</varname> is set to
+   <xref linkend="guc-track-activity-query-size"/> octets.  Notez que cette
+   mémoire est consommée quand le module est chargé, même si
+   <varname>pg_stat_statements.track</varname> est positionné à
    <literal>none</literal>.
   </para>
 
   <para>
-   In order to set any of these parameters in your
-   <filename>postgresql.conf</filename> file,
-   you will need to add <literal>pg_stat_statements</literal> to
-   <xref linkend="guc-custom-variable-classes"/>.  Typical usage might be:
+   Afin de positionner ces paramètres dans votre fichier
+   <filename>postgresql.conf</filename>, vous devez ajouter
+   <literal>pg_stat_statements</literal> à <xref
+   linkend="guc-custom-variable-classes"/>. Un usage courant pourrait être&nbsp;:
   </para>
 
   <programlisting>
@@ -221,7 +230,7 @@
  </sect2>
 
  <sect2>
-  <title>Sample output</title>
+  <title>Exemple de sortie</title>
 
   <programlisting>
 $ pgbench -i bench
@@ -257,7 +266,7 @@
  </sect2>
 
  <sect2>
-  <title>Author</title>
+  <title>Auteur</title>
 
   <para>
    Takahiro Itagaki <email>itagaki.takahiro at oss.ntt.co.jp</email>

Modified: traduc/trunk/postgresql/queries.xml
===================================================================
--- traduc/trunk/postgresql/queries.xml	2009-04-26 11:58:08 UTC (rev 1308)
+++ traduc/trunk/postgresql/queries.xml	2009-04-26 21:32:49 UTC (rev 1309)
@@ -35,8 +35,9 @@
 <optional>WITH <replaceable>with_requêtes</replaceable></optional> SELECT <replaceable>liste_select</replaceable> FROM <replaceable>expression_table</replaceable> <optional><replaceable>specification_tri</replaceable></optional>
 </synopsis>
    Les sections suivantes décrivent le détail de la liste de sélection,
-   l'expression des tables et la spécification du tri. <literal>WITH</literal>
-   queries are treated last since they are an advanced feature.
+   l'expression des tables et la spécification du tri. Les requêtes
+   <literal>WITH</literal> sont traitées en dernier car il s'agit d'une
+   fonctionnalité avancée.
   </para>
 
   <para>
@@ -935,56 +936,60 @@
    </para>
 
    <para>
-    If a query contains aggregate function calls, but no <literal>GROUP
-    BY</literal>
-    clause, grouping still occurs: the result is a single group row (or
-    perhaps no rows at all, if the single row is then eliminated by
+    Si une requête contient des appels à des fonctions d'aggrégat, mais pas
+    de clause <literal>GROUP BY</literal>, le regroupement a toujours lieu&nbsp;:
+    le résultat est une seule ligne de regroupement (ou peut-être pas de ligne
+    du tout si la ligne unique est ensuite éliminée par la clause
     <literal>HAVING</literal>).
-    The same is true if it contains a <literal>HAVING</literal> clause, even
-    without any aggregate function calls or <literal>GROUP BY</literal> clause.
+    Ceci est vrai aussi si elle comporte une clause <literal>HAVING</literal>,
+    même sans fonction d'aggrégat ou <literal>GROUP BY</literal>.
    </para>
   </sect2>
 
   <sect2 id="queries-window">
-   <title>Window Function Processing</title>
+   <title>Traitement de fonctions Window</title>
 
    <indexterm zone="queries-window">
-    <primary>window function</primary>
-    <secondary>order of execution</secondary>
+    <primary>fonction window</primary>
+    <secondary>ordre d'exécution</secondary>
    </indexterm>
 
    <para>
-    If the query contains any window functions (see
-    <xref linkend="tutorial-window"/> and
-    <xref linkend="syntax-window-functions"/>), these functions are evaluated
-    after any grouping, aggregation, and <literal>HAVING</literal> filtering is
-    performed.  That is, if the query uses any aggregates, <literal>GROUP
-    BY</literal>, or <literal>HAVING</literal>, then the rows seen by the window functions
-    are the group rows instead of the original table rows from
+    Si la requête contient une des fonctions Window (voir
+    <xref linkend="tutorial-window"/> et <xref linkend="syntax-window-functions"/>),
+    ces fonctions sont évaluées après que soient effectués les regroupements,
+    les aggrégations, les filtrages par <literal>HAVING</literal>.
+    C'est-à-dire que si la requête comporte des aggrégat, <literal>GROUP
+    BY</literal> ou <literal>HAVING</literal>, alors les enregistrements vus
+    par les fonctions window sont les lignes regroupées à la place des
+    enregistrements originaux provenant de 
     <literal>FROM</literal>/<literal>WHERE</literal>.
    </para>
 
    <para>
-    When multiple window functions are used, all the window functions having
-    syntactically equivalent <literal>PARTITION BY</literal> and
-    <literal>ORDER BY</literal>
-    clauses in their window definitions are guaranteed to be evaluated in a
-    single pass over the data. Therefore they will see the same sort ordering,
-    even if the <literal>ORDER BY</literal> does not uniquely determine an ordering.
-    However, no guarantees are made about the evaluation of functions having
-    different <literal>PARTITION BY</literal> or <literal>ORDER BY</literal> specifications.
-    (In such cases a sort step is typically required between the passes of
-    window function evaluations, and the sort is not guaranteed to preserve
-    ordering of rows that its <literal>ORDER BY</literal> sees as equivalent.)
+    Quand des fonctions Window multiples sont utilisées, toutes les fonctions
+    Window ayant des clauses <literal>PARTITION BY</literal> et <literal>ORDER BY</literal>
+    syntaxiquement équivalentes seront à coup sûr évaluées en une seule passe sur
+    les données.
+    Par conséquent, elles verront le même ordre de tri, même si
+    <literal>ORDER BY</literal> ne détermine pas de façon unique un tri.
+    Toutefois, aucune garantie n'est faite à propos de l'évaluation de fonctions
+    ayant des spécifications de <literal>PARTITION BY</literal> ou
+    <literal>ORDER BY</literal> différentes.
+    (Dans ces cas, une étape de tri est généralement nécessaire entre les passes
+    d'évaluations de fonctions Window, et le tri ne garantit pas la préservation
+    de l'ordre des enregistrements que son <literal>ORDER BY</literal> estime
+    comme identiques.)
    </para>
 
    <para>
-    Currently, window functions always require presorted data, and so the
-    query output will be ordered according to one or another of the window
-    functions' <literal>PARTITION BY</literal>/<literal>ORDER BY</literal> clauses.
-    It is not recommendable to rely on this, however.  Use an explicit
-    top-level <literal>ORDER BY</literal> clause if you want to be sure the
-    results are sorted in a particular way.
+    À l'heure actuelle, les fonctions window nécessitent toujours des données
+    pré-triées, ce qui fait que la sortie de la requête sera triée suivant
+    l'une ou l'autre des clauses <literal>PARTITION BY</literal>/<literal>ORDER BY</literal>
+    des fonctions Window.
+    Il n'est toutefois pas recommandé de s'en servir. Utilisez une clause
+    <literal>ORDER BY</literal> au plus haut niveau de la requête si vous
+    voulez être sûr que vos résultats soient triés d'une certaine façon.
    </para>
   </sect2>
  </sect1>
@@ -1073,29 +1078,29 @@
    <para>
     Si aucun nom de colonne en sortie n'est spécifié en utilisant
     <literal>AS</literal>, le système affecte un nom de colonne par défaut.
-    Pour les références de
-    colonne simple, c'est le nom de la colonne référencée. Pour les appels de
-    fonction, il s'agit du nom de la fonction. Pour les expressions complexes,
-    le système générera un nom générique.
+    Pour les références de colonne simple, c'est le nom de la colonne
+    référencée. Pour les appels de fonction, il s'agit du nom de la fonction.
+    Pour les expressions complexes, le système générera un nom générique.
    </para>
 
    <para>
-    The <literal>AS</literal> keyword is optional, but only if the new column
-    name does not match any
-    <productname>PostgreSQL</productname> keyword (see <xref
-    linkend="sql-keywords-appendix"/>).  To avoid an accidental match to
-    a keyword, you can double-quote the column name.  For example,
-    <literal>VALUE</literal> is a keyword, so this does not work:
+    Le mot clé <literal>AS</literal> est optionnel, mais seulement si le
+    nouveau nom de colonne ne correspond à aucun des mots clés
+    <productname>PostgreSQL</productname> (voir <xref
+    linkend="sql-keywords-appendix"/>). Pour éviter une correspondance
+    accidentelle à un mot clé, vous pouvez mettre le nom de colonne entre
+    guillemets. Par exemple, <literal>VALUE</literal> est un mot clé, ce qui
+    fait que ceci ne fonctionne pas&nbsp;:
 <programlisting>
-SELECT a value, b + c AS sum FROM ...
+SELECT a valeur, b + c AS somme FROM ...
 </programlisting>
-    but this does:
+    mais ceci fonctionne&nbsp;:
 <programlisting>
-SELECT a "value", b + c AS sum FROM ...
+SELECT a "valeur", b + c AS somme FROM ...
 </programlisting>
-    For protection against possible
-    future keyword additions, it is recommended that you always either
-    write <literal>AS</literal> or double-quote the output column name.
+    Pour vous protéger de possibles ajouts futurs de mots clés, il est recommandé
+    de toujours écrire <literal>AS</literal> ou de mettre le nom de colonne de
+    sortie entre guillemets.
    </para>
 
    <note>
@@ -1369,14 +1374,14 @@
   <para>
    Si un nombre limite est donné, pas plus que ce nombre de lignes sera renvoyé
    (mais peut-être moins si la requête récupère moins de lignes). <literal>LIMIT
-   ALL</literal> est identique à ne pas spécifier la clause <literal>LIMIT</literal>.
+   ALL</literal> revient à ne pas spécifier la clause <literal>LIMIT</literal>.
   </para>
 
   <para>
    <literal>OFFSET</literal> indique de passer ce nombre de lignes avant de renvoyer 
    les lignes restantes. <literal>OFFSET 0</literal> revient à oublier la clause
-   <literal>OFFSET</literal>, and <literal>LIMIT NULL</literal> is the same
-   as omitting the <literal>LIMIT</literal> clause. Si à la fois <literal>OFFSET</literal> et <literal>LIMIT</literal>
+   <literal>OFFSET</literal>, et <literal>LIMIT NULL</literal> revient à oublier
+   la clause <literal>LIMIT</literal>. Si à la fois <literal>OFFSET</literal> et <literal>LIMIT</literal>
    apparaissent, alors les <literal>OFFSET</literal> lignes sont laissées avant de
    commencer le renvoi des <literal>LIMIT</literal> lignes.
   </para>
@@ -1480,11 +1485,11 @@
 
 
  <sect1 id="queries-with">
-  <title><literal>WITH</literal> Queries</title>
+  <title>Requêtes <literal>WITH</literal></title>
 
   <indexterm zone="queries-with">
    <primary>WITH</primary>
-   <secondary>in SELECT</secondary>
+   <secondary>dans SELECT</secondary>
   </indexterm>
 
   <indexterm>
@@ -1493,94 +1498,92 @@
   </indexterm>
 
   <para>
-   <literal>WITH</literal> provides a way to write subqueries for use in a larger
-   <literal>SELECT</literal> query.  The subqueries can be thought of as defining
-   temporary tables that exist just for this query.  One use of this feature
-   is to break down complicated queries into simpler parts.  An example is:
+   <literal>WITH</literal> fournit une façon d'écrire les sous-requêtes pour
+   utilisation dans une requête <literal>SELECT</literal> plus étendue. Les
+   sous-requêtes peuvent être considérées comme la déclaration d'une table
+   temporaire n'existant que pour la requête. Une utilisation de cette
+   fonctionnalité est de découper des requêtes complexes en parties plus simples.
+   En voici un exemple&nbsp;:
 
-<programlisting>
-WITH regional_sales AS (
-        SELECT region, SUM(amount) AS total_sales
-        FROM orders
+<programlisting>WITH ventes_regionales AS (
+        SELECT region, SUM(montant) AS ventes_totales
+        FROM commandes
         GROUP BY region
-     ), top_regions AS (
+     ), meilleures_regions AS (
         SELECT region
-        FROM regional_sales
-        WHERE total_sales &gt; (SELECT SUM(total_sales)/10 FROM regional_sales)
+        FROM ventes_regionales
+        WHERE ventes_totales &gt; (SELECT SUM(ventes_totales)/10 FROM ventes_regionales)
      )
 SELECT region,
-       product,
-       SUM(quantity) AS product_units,
-       SUM(amount) AS product_sales
-FROM orders
-WHERE region IN (SELECT region FROM top_regions)
-GROUP BY region, product;
-</programlisting>
+       produit,
+       SUM(quantite) AS unites_produit,
+       SUM(montant) AS ventes_produit
+FROM commandes
+WHERE region IN (SELECT region FROM meilleures_regions)
+GROUP BY region, produit;</programlisting>
 
-   which displays per-product sales totals in only the top sales regions.
-   This example could have been written without <literal>WITH</literal>,
-   but we'd have needed two levels of nested sub-SELECTs.  It's a bit
-   easier to follow this way.
+   qui affiche les totaux de ventes par produit dans seulement les régions
+   ayant les meilleures ventes. Cet exemple aurait pu être écrit sans
+   <literal>WITH</literal>, mais aurait alors nécessité deux niveaux de
+   sous-SELECT imbriqués. Les choses sont un peu plus faciles à suivre de cette
+   façon.
   </para>
 
   <para>
-   The optional <literal>RECURSIVE</literal> modifier changes
-   <literal>WITH</literal>
-   from a mere syntactic convenience into a feature that accomplishes
-   things not otherwise possible in standard SQL.  Using
-   <literal>RECURSIVE</literal>, a <literal>WITH</literal> query can refer to its own
-   output.  A very simple example is this query to sum the integers from 1
-   through 100:
+   Le modificateur optionnel <literal>RECURSIVE</literal> fait passer
+   <literal>WITH</literal> du statut de simple aide syntaxique à celui de
+   quelque chose qu'il serait impossible d'accomplir avec du SQL standard.
+   Grâce à <literal>RECURSIVE</literal>, une requête <literal>WITH</literal>
+   peut utiliser sa propre sortie. Un exemple très simple se trouve dans cette
+   requête, qui ajoute les nombres de 1 à 100&nbsp;:
 
-<programlisting>
-WITH RECURSIVE t(n) AS (
+<programlisting>WITH RECURSIVE t(n) AS (
     VALUES (1)
   UNION ALL
     SELECT n+1 FROM t WHERE n &lt; 100
 )
-SELECT sum(n) FROM t;
-</programlisting>
+SELECT sum(n) FROM t;</programlisting>
 
-   The general form of a recursive <literal>WITH</literal> query is always a
-   <firstterm>non-recursive term</firstterm>, then <literal>UNION</literal> (or
-   <literal>UNION ALL</literal>), then a
-   <firstterm>recursive term</firstterm>, where only the recursive term can contain
-   a reference to the query's own output.  Such a query is executed as
-   follows:
+   La forme générale d'une requête <literal>WITH</literal> est toujours un
+   <firstterm>terme non-recursif</firstterm>, puis <literal>UNION</literal> (ou
+   <literal>UNION ALL</literal>), puis un <firstterm>terme récursif</firstterm>.
+   Seul le terme récursif peut contenir une référence à la sortie propre de la
+   requête. Une requête de ce genre est exécutée comme suit&nbsp;:
   </para>
 
   <procedure>
-   <title>Recursive Query Evaluation</title>
+   <title>Évaluation de requête récursive</title>
 
    <step performance="required">
     <para>
-     Evaluate the non-recursive term.  For <literal>UNION</literal> (but not
-     <literal>UNION ALL</literal>), discard duplicate rows.  Include all remaining
-     rows in the result of the recursive query, and also place them in a
-     temporary <firstterm>working table</firstterm>.
+     Évaluer le terme non récursif. Pour <literal>UNION</literal> (mais pas
+     <literal>UNION ALL</literal>), supprimer les enregistrements en double.
+     Inclure le reste dans le résultat de la requête récursive et le mettre
+     aussi dans une table temporaire de travail (<firstterm>working table</firstterm>.)
     </para>
    </step>
 
    <step performance="required">
     <para>
-     So long as the working table is not empty, repeat these steps:
+     Tant que la table de travail n'est pas vide, répéter ces étapes&nbsp;:
     </para>
     <substeps>
      <step performance="required">
       <para>
-       Evaluate the recursive term, substituting the current contents of
-       the working table for the recursive self-reference.
-       For <literal>UNION</literal> (but not <literal>UNION ALL</literal>), discard
-       duplicate rows and rows that duplicate any previous result row.
-       Include all remaining rows in the result of the recursive query, and
-       also place them in a temporary <firstterm>intermediate table</firstterm>.
+       Évaluer le terme récursif, en substituant à la référence récursive
+       le contenu courant de la table de travail.
+       Pour <literal>UNION</literal> (mais pas <literal>UNION ALL</literal>),
+       supprimer les doublons, ainsi que les enregistrements en doublon des
+       enregistrements déjà obtenus. Inclure les enregistrements restants dans
+       le résultat de la requête récursive, et les mettre aussi dans une table
+       temporaire intermédiaire (<firstterm>intermediate table</firstterm>).
       </para>
      </step>
 
      <step performance="required">
       <para>
-       Replace the contents of the working table with the contents of the
-       intermediate table, then empty the intermediate table.
+       Remplacer le contenu de la table de travail par celui de la table
+       intermédiaire, puis supprimer la table intermédiaire.
       </para>
      </step>
     </substeps>
@@ -1589,137 +1592,140 @@
 
   <note>
    <para>
-    Strictly speaking, this process is iteration not recursion, but
-    <literal>RECURSIVE</literal> is the terminology chosen by the SQL standards
-    committee.
+    Dans son appellation stricte, ce processus est une itération, pas une
+    récursion, mais <literal>RECURSIVE</literal> est la terminologie choisie
+    par le comité de standardisation de SQL.
    </para>
   </note>
 
   <para>
-   In the example above, the working table has just a single row in each step,
-   and it takes on the values from 1 through 100 in successive steps.  In
-   the 100th step, there is no output because of the <literal>WHERE</literal>
-   clause, and so the query terminates.
+   Dans l'exemple précédent, la table de travail a un seul enregistrement à
+   chaque étape, et il prend les valeurs de 1 à 100 en étapes successives.
+   À la centième étape, il n'y a plus de sortie en raison de la clause
+   <literal>WHERE</literal>, ce qui met fin à la requête.
   </para>
 
   <para>
-   Recursive queries are typically used to deal with hierarchical or
-   tree-structured data.  A useful example is this query to find all the
-   direct and indirect sub-parts of a product, given only a table that
-   shows immediate inclusions:
+   Les requêtes récursives sont utilisées généralement pour traiter des données
+   hiérarchiques ou sous forme d'arbres. Cette requête est un exemple utile
+   pour trouver toutes les sous-parties directes et indirectes d'un produit,
+   si seule une table donne toutes les inclusions immédiates&nbsp;:
 
-<programlisting>
-WITH RECURSIVE included_parts(sub_part, part, quantity) AS (
-    SELECT sub_part, part, quantity FROM parts WHERE part = 'our_product'
+<programlisting>WITH RECURSIVE parties_incluses(sous_partie, partie, quantite) AS (
+    SELECT sous_partie, partie, quantite FROM parties WHERE partie = 'notre_produit'
   UNION ALL
-    SELECT p.sub_part, p.part, p.quantity
-    FROM included_parts pr, parts p
-    WHERE p.part = pr.sub_part
+    SELECT p.sous_partie, p.partie, p.quantite
+    FROM parties_incluses pr, parties p
+    WHERE p.partie = pr.sous_partie
   )
-SELECT sub_part, SUM(quantity) as total_quantity
-FROM included_parts
-GROUP BY sub_part
-</programlisting>
+SELECT sous_partie, SUM(quantite) as quantite_totale
+FROM parties_incluses
+GROUP BY sous_partie</programlisting>
   </para>
 
   <para>
-   When working with recursive queries it is important to be sure that
-   the recursive part of the query will eventually return no tuples,
-   or else the query will loop indefinitely.  Sometimes, using
-   <literal>UNION</literal> instead of <literal>UNION ALL</literal> can accomplish this
-   by discarding rows that duplicate previous output rows.  However, often a
-   cycle does not involve output rows that are completely duplicate: it may be
-   necessary to check just one or a few fields to see if the same point has
-   been reached before.  The standard method for handling such situations is
-   to compute an array of the already-visited values.  For example, consider
-   the following query that searches a table <structname>graph</structname> using a
-   <structfield>link</structfield> field:
+   Quand on travaille avec des requêtes récursives, il est important d'être sûr
+   que la partie récursive de la requête finira par ne retourner aucun enregistrement,
+   au risque sinon de voir la requête boucler indéfiniment. Quelquefois, utiliser
+   <literal>UNION</literal> à la place de <literal>UNION ALL</literal> peut
+   résoudre le problème en supprimant les enregistrements qui doublonnent ceux déjà
+   retournés. Toutefois, souvent, un cycle ne met pas en jeu des enregistrements de
+   sortie qui sont totalement des doublons&nbsp;: il peut s'avérer nécessaire de
+   vérifier juste un ou quelques champs, afin de s'assurer que le même point a déjà
+   été atteint précédemment. La méthode standard pour gérer ces situations est de
+   calculer un tableau de valeurs déjà visitées. Par exemple, observez la requête
+   suivante, qui parcourt une table <structname>graphe</structname> en utilisant
+   un champ <structfield>lien</structfield>&nbsp;:
 
 <programlisting>
-WITH RECURSIVE search_graph(id, link, data, depth) AS (
-        SELECT g.id, g.link, g.data, 1
-        FROM graph g
+WITH RECURSIVE parcourt_graphe(id, lien, donnee, profondeur) AS (
+        SELECT g.id, g.lien, g.donnee, 1
+        FROM graphe g
       UNION ALL
-        SELECT g.id, g.link, g.data, sg.depth + 1
-        FROM graph g, search_graph sg
-        WHERE g.id = sg.link
+        SELECT g.id, g.lien, g.donnee, sg.profondeur + 1
+        FROM graphe g, parcourt_graphe sg
+        WHERE g.id = sg.lien
 )
-SELECT * FROM search_graph;
+SELECT * FROM parcourt_graphe;
 </programlisting>
 
-   This query will loop if the <structfield>link</structfield> relationships contain
-   cycles.  Because we require a <quote>depth</quote> output, just changing
-   <literal>UNION ALL</literal> to <literal>UNION</literal> would not eliminate the looping.
-   Instead we need to recognize whether we have reached the same row again
-   while following a particular path of links.  We add two columns
-   <structfield>path</structfield> and <structfield>cycle</structfield> to the loop-prone query:
-
+   Cette requête va boucler si la liaison <structfield>lien</structfield>
+   contient des boucles. Parce que nous avons besoin de la sortie
+   <quote>profondeur</quote>, simplement remplacer <literal>UNION ALL</literal>
+   par <literal>UNION</literal> ne résoudra pas le problème.
+   À la place, nous avons besoin d'identifier si nous avons atteint un enregistrement
+   que nous avons déjà traité pendant notre parcours des liens. Nous ajoutons
+   deux colonnes <structfield>chemin</structfield> et <structfield>boucle</structfield>
+   à la requête&nbsp;:
 <programlisting>
-WITH RECURSIVE search_graph(id, link, data, depth, path, cycle) AS (
-        SELECT g.id, g.link, g.data, 1,
+WITH RECURSIVE parcourt_graphe(id, lien, donnee, profondeur, chemin, boucle) AS (
+        SELECT g.id, g.lien, g.donnee, 1,
           ARRAY[g.id],
           false
-        FROM graph g
+        FROM graphe g
       UNION ALL
-        SELECT g.id, g.link, g.data, sg.depth + 1,
-          path || g.id,
-          g.id = ANY(path)
-        FROM graph g, search_graph sg
-        WHERE g.id = sg.link AND NOT cycle
+        SELECT g.id, g.lien, g.donnee, sg.profondeur + 1,
+          chemin || g.id,
+          g.id = ANY(chemin)
+        FROM graphe g, parcourt_graphe sg
+        WHERE g.id = sg.lien AND NOT boucle
 )
-SELECT * FROM search_graph;
+SELECT * FROM parcourt_graphe;
 </programlisting>
 
-   Aside from preventing cycles, the array value is often useful in its own
-   right as representing the <quote>path</quote> taken to reach any particular row.
+   En plus de prévenir les boucles, cette valeur de tableau est souvent pratique
+   en elle-même pour représenter le <quote>chemin</quote> pris pour atteindre
+   chaque enregistrement.
   </para>
 
   <para>
-   In the general case where more than one field needs to be checked to
-   recognize a cycle, use an array of rows.  For example, if we needed to
-   compare fields <structfield>f1</structfield> and
-   <structfield>f2</structfield>:
+   De façon plus générale, quand plus d'un champ a besoin d'être vérifié pour
+   identifier une boucle, utilisez un tableau d'enregistrements. Par exemple,
+   si nous avions besoin de comparer les champs <structfield>f1</structfield> et
+   <structfield>f2</structfield>&nbsp;:
 
 <programlisting>
-WITH RECURSIVE search_graph(id, link, data, depth, path, cycle) AS (
-        SELECT g.id, g.link, g.data, 1,
+WITH RECURSIVE parcourt_graphe(id, lien, donnee, profondeur, chemin, boucle) AS (
+        SELECT g.id, g.lien, g.donnee, 1,
           ARRAY[ROW(g.f1, g.f2)],
           false
-        FROM graph g
+        FROM graphe g
       UNION ALL
-        SELECT g.id, g.link, g.data, sg.depth + 1,
-          path || ROW(g.f1, g.f2),
+        SELECT g.id, g.lien, g.donnee, sg.profondeur + 1,
+          chemin || ROW(g.f1, g.f2),
           ROW(g.f1, g.f2) = ANY(path)
-        FROM graph g, search_graph sg
-        WHERE g.id = sg.link AND NOT cycle
+        FROM graphe g, parcourt_graphe sg
+        WHERE g.id = sg.link AND NOT boucle
 )
-SELECT * FROM search_graph;
+SELECT * FROM parcourt_graphe;
 </programlisting>
   </para>
 
   <tip>
    <para>
-    Omit the <literal>ROW()</literal> syntax in the common case where only one field
-    needs to be checked to recognize a cycle.  This allows a simple array
-    rather than a composite-type array to be used, gaining efficiency.
+    Omettez la syntaxe <literal>ROW()</literal> dans le cas courant où un seul
+    champ a besoin d'être testé pour déterminer une boucle. Ceci permet, par
+    l'utilisation d'un tableau simple plutôt que d'un tableau de type composite,
+    de gagner en efficacité.
    </para>
   </tip>
 
   <tip>
    <para>
-    The recursive query evaluation algorithm produces its output in
-    breadth-first search order.  You can display the results in depth-first
-    search order by making the outer query <literal>ORDER BY</literal> a
-    <quote>path</quote> column constructed in this way.
+    L'algorithme d'évaluation récursive de requête produit sa sortie en ordre
+    de parcours en largeur (algorithme <foreignphrase>breadth-first</foreignphrase>).
+    Vous pouvez afficher les résultats en ordre de parcours en profondeur
+    (<foreignphrase>depth-first</foreignphrase>) en faisant sur la requête
+    externe un <literal>ORDER BY</literal> sur une colonne <quote>chemin</quote>
+    construite de cette façon.
    </para>
   </tip>
 
   <para>
-   A helpful trick for testing queries
-   when you are not certain if they might loop is to place a
-   <literal>LIMIT</literal>
-   in the parent query.  For example, this query would loop forever without
-   the <literal>LIMIT</literal>:
+   Si vous n'êtes pas certain qu'une requête peut boucler, une astuce pratique
+   pour la tester est d'utiliser <literal>LIMIT</literal> dans la requête parente.
+   Par exemple, cette requête bouclerait indéfiniment sans un
+   <literal>LIMIT</literal>&nbsp;:
 
 <programlisting>
 WITH RECURSIVE t(n) AS (
@@ -1730,29 +1736,31 @@
 SELECT n FROM t LIMIT 100;
 </programlisting>
 
-   This works because <productname>PostgreSQL</productname>'s implementation
-   evaluates only as many rows of a <literal>WITH</literal> query as are actually
-   fetched by the parent query.  Using this trick in production is not
-   recommended, because other systems might work differently.  Also, it
-   usually won't work if you make the outer query sort the recursive query's
-   results or join them to some other table.
+   Ceci fonctionne parce que l'implémentation de <productname>PostgreSQL</productname>
+   n'évalue que le nombre d'enregistrements de la requête <literal>WITH</literal>
+   récupérés par la requête parente. L'utilisation de cette astuce en production
+   est déconseillée parce que d'autres systèmes pourraient fonctionner différemment.
+   Par ailleurs, cela ne fonctionnera pas si vous demandez à la requête externe
+   de trier les résultats de la requête récursive, ou si vous les joignez à une
+   autre table.
   </para>
 
   <para>
-   A useful property of <literal>WITH</literal> queries is that they are evaluated
-   only once per execution of the parent query, even if they are referred to
-   more than once by the parent query or sibling <literal>WITH</literal> queries.
-   Thus, expensive calculations that are needed in multiple places can be
-   placed within a <literal>WITH</literal> query to avoid redundant work.  Another
-   possible application is to prevent unwanted multiple evaluations of
-   functions with side-effects.
-   However, the other side of this coin is that the optimizer is less able to
-   push restrictions from the parent query down into a <literal>WITH</literal> query
-   than an ordinary sub-query.  The <literal>WITH</literal> query will generally be
-   evaluated as stated, without suppression of rows that the parent query
-   might discard afterwards.  (But, as mentioned above, evaluation might stop
-   early if the reference(s) to the query demand only a limited number of
-   rows.)
+   Une propriété intéressante des requêtes <literal>WITH</literal> est qu'elles
+   ne sont évaluées qu'une seule fois par exécution de la requête parente ou
+   des requêtes <literal>WITH</literal> s&oelig;urs.
+   Par conséquent, les calculs coûteux qui sont nécessaires à plusieurs endroits
+   peuvent être placés dans une requête <literal>WITH</literal> pour éviter le
+   travail redondant. Un autre intérêt peut être d'éviter l'exécution multiple
+   d'une fonction ayant des effets de bord.
+   Toutefois, le revers de la médaille est que l'optimiseur est moins capable
+   d'extrapoler les restrictions de la requête parente vers une requête
+   <literal>WITH</literal> que vers une sous-requête classique. La requête
+   <literal>WITH</literal> sera généralement exécutée telle quelle, sans
+   suppression d'enregistrements, que la requête parente devra supprimer ensuite.
+   (Mais, comme mentionné précédemment, l'évaluation pourrait s'arrêter rapidement
+   si la (les) référence(s) à la requête ne demande(nt) qu'un nombre limité
+   d'enregistrements).
   </para>
 
  </sect1>

Modified: traduc/trunk/postgresql/ref/alter_foreign_data_wrapper.xml
===================================================================
--- traduc/trunk/postgresql/ref/alter_foreign_data_wrapper.xml	2009-04-26 11:58:08 UTC (rev 1308)
+++ traduc/trunk/postgresql/ref/alter_foreign_data_wrapper.xml	2009-04-26 21:32:49 UTC (rev 1309)
@@ -54,7 +54,7 @@
     <term><replaceable class="parameter">nom</replaceable></term>
     <listitem>
      <para>
-      Le nom d'un wrapper existant de données distantes.
+      Le nom d'un wrapper de données distantes existant.
      </para>
     </listitem>
    </varlistentry>
@@ -68,8 +68,8 @@
 
      <para>
       Notez qu'il est possible que les options des wrappers de données
-      distantes, des serveurs et des correspondances utilisateur peuvent
-      devenir invalides une fois le validateur changé. C'est à l'utilisateur
+      distantes, des serveurs et des correspondances utilisateur deviennent 
+      invalides une fois le validateur changé. C'est à l'utilisateur
       de s'assurer que ces options sont correctes avant d'utiliser le wrapper
       de données distantes.
      </para>
@@ -81,7 +81,7 @@
     <listitem>
      <para>
       Cette option est utilisée pour spécifier que le wrapper de données
-      distantes ne devrait pas avoir une fonction de validation.
+      distantes n'aura plus de fonction de validation.
      </para>
     </listitem>
    </varlistentry>
@@ -94,7 +94,7 @@
       <literal>ADD</literal>, <literal>SET</literal> et <literal>DROP</literal>
       spécifient l'action à réaliser. <literal>ADD</literal> est pris par défaut
       si aucune opération n'est explicitement spécifiée. Les noms des options
-      doivent être uniques&nbsp;; les noms et valeurs sont validées en utilisant
+      doivent être uniques&nbsp;; les noms et valeurs sont validés en utilisant
       la bibliothèque de wrapper de données distantes.
      </para>
     </listitem>
@@ -142,3 +142,4 @@
  </refsect1>
 
 </refentry>
+

Modified: traduc/trunk/postgresql/ref/alter_server.xml
===================================================================
--- traduc/trunk/postgresql/ref/alter_server.xml	2009-04-26 11:58:08 UTC (rev 1308)
+++ traduc/trunk/postgresql/ref/alter_server.xml	2009-04-26 21:32:49 UTC (rev 1309)
@@ -7,12 +7,12 @@
 <refentry id="sql-alterserver">
  <refmeta>
   <refentrytitle id="sql-alterserver-title">ALTER SERVER</refentrytitle>
-  <refmiscinfo>SQL - Language Statements</refmiscinfo>
+  <refmiscinfo>SQL - Instructions du langage</refmiscinfo>
  </refmeta>
 
  <refnamediv>
   <refname>ALTER SERVER</refname>
-  <refpurpose>change the definition of a foreign server</refpurpose>
+  <refpurpose>modifier la définition d'un serveur distant</refpurpose>
  </refnamediv>
 
  <indexterm zone="sql-alterserver">
@@ -21,9 +21,9 @@
 
  <refsynopsisdiv>
 <synopsis>
-ALTER SERVER <replaceable class="parameter">servername</replaceable> [ VERSION 'newversion' ]
-    [ OPTIONS ( [ ADD | SET | DROP ] <replaceable class="PARAMETER">option</replaceable> ['<replaceable class="PARAMETER">value</replaceable>'] [, ... ] ) ]
-ALTER SERVER <replaceable class="PARAMETER">servername</replaceable> OWNER TO <replaceable>new_owner</replaceable>
+ALTER SERVER <replaceable class="parameter">nomserver</replaceable> [ VERSION 'nouvelleversion' ]
+    [ OPTIONS ( [ ADD | SET | DROP ] <replaceable class="PARAMETER">option</replaceable> ['<replaceable class="PARAMETER">valeur</replaceable>'] [, ... ] ) ]
+ALTER SERVER <replaceable class="PARAMETER">nomserveur</replaceable> OWNER TO <replaceable>nouveau_propriétaire</replaceable>
 </synopsis>
  </refsynopsisdiv>
 
@@ -31,55 +31,54 @@
   <title>Description</title>
 
   <para>
-   <command>ALTER SERVER</command> changes the definition of a foreign
-   server.  The first form changes the server version string or the
-   generic options of the server (at least one clause is required).
-   The second form changes the owner of the server.
+   <command>ALTER SERVER</command> modifie la définition d'un serveur distant.
+   La première forme modifie la chaîne de version du serveur ou les options
+   génériques du serveur (au moins une clause est nécessaire). La seconde forme
+   modifie le propriétaire du serveur.
   </para>
 
   <para>
-   To alter the server you must be the owner of the server.
-   Additionally to alter the owner, you must own the server and also
-   be a direct or indirect member of the new owning role, and you must
-   have <literal>USAGE</literal> privilege on the server's foreign-data
-   wrapper.  (Note that superusers satisfy all these criteria
-   automatically.)
+   Pour modifier le serveur, vous devez être le propriétaire du serveur.
+   De plus, pour modifier le propriétaire, vous devez posséder le serveur ainsi
+   qu'être un membre direct ou indirect du nouveau rôle, et vous devez avoir le
+   droit <literal>USAGE</literal> sur le wrapper de données distantes
+   du serveur. (Notez que les superutilisateurs satisfont à tout ces critères
+   automatiquement.)
   </para>
  </refsect1>
 
  <refsect1>
-  <title>Parameters</title>
+  <title>Paramètres</title>
 
   <variablelist>
    <varlistentry>
-    <term><replaceable class="parameter">servername</replaceable></term>
+    <term><replaceable class="parameter">nomserveur</replaceable></term>
     <listitem>
      <para>
-      The name of an existing server.
+      Le nom d'un serveur existant.
      </para>
     </listitem>
    </varlistentry>
 
    <varlistentry>
-    <term><replaceable class="parameter">serverversion</replaceable></term>
+    <term><replaceable class="parameter">versionserveur</replaceable></term>
     <listitem>
      <para>
-      New server version.
+      Nouvelle version du serveur.
      </para>
     </listitem>
    </varlistentry>
 
    <varlistentry>
-    <term><literal>OPTIONS ( [ ADD | SET | DROP ] <replaceable class="PARAMETER">option</replaceable> ['<replaceable class="PARAMETER">value</replaceable>'] [, ... ] )</literal></term>
+    <term><literal>OPTIONS ( [ ADD | SET | DROP ] <replaceable class="PARAMETER">option</replaceable> ['<replaceable class="PARAMETER">valeur</replaceable>'] [, ... ] )</literal></term>
     <listitem>
      <para>
-      Change options for the
-      server.  <literal>ADD</literal>, <literal>SET</literal>, and
-      <literal>DROP</literal>
-      specify the action to be performed.  <literal>ADD</literal> is assumed
-      if no operation is explicitly specified.  Option names must be
-      unique; names and values are also validated using the server's
-      foreign-data wrapper library.
+      Modifie des options pour le serveur. <literal>ADD</literal>,
+      <literal>SET</literal> et <literal>DROP</literal> spécifient les actions
+      à exécuter. Si aucune opération n'est spécifiée explicitement, l'action
+      est <literal>ADD</literal>. Les noms d'options doivent être uniques&nbsp;;
+      les noms et valeurs sont aussi validés en utilisant la bibliothèque de
+      wrapper de données distantes.
      </para>
     </listitem>
    </varlistentry>
@@ -87,18 +86,19 @@
  </refsect1>
 
  <refsect1>
-  <title>Examples</title>
+  <title>Exemples</title>
 
   <para>
-   Alter server <literal>foo</literal>, add connection options:
+   Modifier le serveur <literal>foo</literal> et lui ajouter des options de
+   connexion&nbsp;:
 <programlisting>
-ALTER SERVER foo OPTIONS (host 'foo', dbname 'foodb');
+ALTER SERVER foo OPTIONS (host 'foo', dbname 'dbfoo');
 </programlisting>
   </para>
 
   <para>
-   Alter server <literal>foo</literal>, change version,
-   change <literal>host</literal> option:
+   Modifier le serveur <literal>foo</literal>, modifier sa version,
+   modifier son option <literal>host</literal>&nbsp;:
 <programlisting>
 ALTER SERVER foo VERSION '8.4' OPTIONS (SET host 'baz');
 </programlisting>
@@ -106,15 +106,15 @@
  </refsect1>
 
  <refsect1>
-  <title>Compatibility</title>
+  <title>Compatibilité</title>
 
   <para>
-   <command>ALTER SERVER</command> conforms to ISO/IEC 9075-9 (SQL/MED).
+   <command>ALTER SERVER</command> est conforme à ISO/IEC 9075-9 (SQL/MED).
   </para>
  </refsect1>
 
  <refsect1>
-  <title>See Also</title>
+  <title>Voir aussi</title>
 
   <simplelist type="inline">
    <member><xref linkend="sql-createserver" endterm="sql-createserver-title"/></member>

Modified: traduc/trunk/postgresql/ref/alter_user_mapping.xml
===================================================================
--- traduc/trunk/postgresql/ref/alter_user_mapping.xml	2009-04-26 11:58:08 UTC (rev 1308)
+++ traduc/trunk/postgresql/ref/alter_user_mapping.xml	2009-04-26 21:32:49 UTC (rev 1309)
@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="ISO-8859-15"?>
-<!-- Dernière modification
+<!-- Dernière modification
      le       $Date: 2009-04-13 17:20:17 +0200 (lun 13 avr 2009) $
      par      $Author: gleu $
-     révision $Revision: 1293 $ -->
+     révision $Revision: 1293 $ -->
 
 <refentry id="sql-alterusermapping">
  <refmeta>
   <refentrytitle id="sql-alterusermapping-title">ALTER USER MAPPING</refentrytitle>
-  <refmiscinfo>SQL - Language Statements</refmiscinfo>
+  <refmiscinfo>SQL - Instructions du langage</refmiscinfo>
  </refmeta>
 
  <refnamediv>
   <refname>ALTER USER MAPPING</refname>
-  <refpurpose>change the definition of a user mapping</refpurpose>
+  <refpurpose>change la définition d'une correspondance d'utilisateurs (user mapping)</refpurpose>
  </refnamediv>
 
  <indexterm zone="sql-alterusermapping">
@@ -21,9 +21,9 @@
 
  <refsynopsisdiv>
 <synopsis>
-ALTER USER MAPPING FOR { <replaceable class="parameter">username</replaceable> | USER | CURRENT_USER | PUBLIC }
-    SERVER <replaceable class="parameter">servername</replaceable>
-    OPTIONS ( [ ADD | SET | DROP ] <replaceable class="PARAMETER">option</replaceable> ['<replaceable class="PARAMETER">value</replaceable>'] [, ... ] )
+ALTER USER MAPPING FOR { <replaceable class="parameter">nomutilisateur</replaceable> | USER | CURRENT_USER | PUBLIC }
+    SERVER <replaceable class="parameter">nomserveur</replaceable>
+    OPTIONS ( [ ADD | SET | DROP ] <replaceable class="PARAMETER">option</replaceable> ['<replaceable class="PARAMETER">valeur</replaceable>'] [, ... ] )
 </synopsis>
  </refsynopsisdiv>
 
@@ -31,55 +31,55 @@
   <title>Description</title>
 
   <para>
-   <command>ALTER USER MAPPING</command> changes the definition of a
-   user mapping.
+   <command>ALTER USER MAPPING</command> change la définition d'une correspondance
+   d'utilisateur (user mapping).
   </para>
 
   <para>
-   The owner of a foreign server can alter user mappings for that
-   server for any user.  Also, a user can alter a user mapping for
-   his own user name if <literal>USAGE</literal> privilege on the server has
-   been granted to the user.
+   Le propriétaire d'un serveur distant peut aussi altérer les correspondances
+   d'utilisateurs pour ce serveur pour tout utilisateur. Par ailleurs, un
+   utilisateur peut modifier une correspondance d'utilisateur pour son propre
+   nom d'utilisateur s'il a reçu le droit <literal>USAGE</literal> sur le
+   serveur distant.
   </para>
  </refsect1>
 
  <refsect1>
-  <title>Parameters</title>
+  <title>Paramètres</title>
 
   <variablelist>
    <varlistentry>
-    <term><replaceable class="parameter">username</replaceable></term>
+    <term><replaceable class="parameter">nomutilisateur</replaceable></term>
     <listitem>
      <para>
-      User name of the mapping. <literal>CURRENT_USER</literal>
-      and <literal>USER</literal> match the name of the current
-      user. <literal>PUBLIC</literal> is used to match all present and future
-      user names in the system.
+      Nom d'utilisateur de la correspondance. <literal>CURRENT_USER</literal>
+      et <literal>USER</literal> correspondent au nom de l'utilisateur courant.
+      <literal>PUBLIC</literal> est utilisé pour correspondre à tous les
+      noms d'utilisateurs présents et futurs du système.
      </para>
     </listitem>
    </varlistentry>
 
    <varlistentry>
-    <term><replaceable class="parameter">servername</replaceable></term>
+    <term><replaceable class="parameter">nomserveur</replaceable></term>
     <listitem>
      <para>
-      Server name of the user mapping.
+      Nom du serveur de la correspondance d'utilisateur.
      </para>
     </listitem>
    </varlistentry>
 
    <varlistentry>
-    <term><literal>OPTIONS ( [ ADD | SET | DROP ] <replaceable class="PARAMETER">option</replaceable> ['<replaceable class="PARAMETER">value</replaceable>'] [, ... ] )</literal></term>
+    <term><literal>OPTIONS ( [ ADD | SET | DROP ] <replaceable class="PARAMETER">option</replaceable> ['<replaceable class="PARAMETER">valeur</replaceable>'] [, ... ] )</literal></term>
     <listitem>
      <para>
-      Change options for the user mapping. The new options override
-      any previously specified
-      options.  <literal>ADD</literal>, <literal>SET</literal>, and
-      <literal>DROP</literal>
-      specify the action to be performed.  <literal>ADD</literal> is assumed
-      if no operation is explicitly specified.  Option names must be
-      unique; options are also validated by the server's foreign-data
-      wrapper.
+      Modifie l'option pour la correspondance d'utilisateur. La nouvelle option
+      écrase toute option précédemment spécifiée. <literal>ADD</literal>,
+      <literal>SET</literal> et <literal>DROP</literal> spécifient l'action à
+      exécuter. Si aucune action n'est spécifiée, l'action est
+      <literal>ADD</literal>. Les noms d'options doivent être uniques&nbsp;;
+      les options sont aussi validées par le wrapper de données distantes du
+      serveur.
      </para>
     </listitem>
    </varlistentry>
@@ -87,11 +87,11 @@
  </refsect1>
 
  <refsect1>
-  <title>Examples</title>
+  <title>Exemples</title>
 
   <para>
-   Change the password for user mapping <literal>bob</literal>,
-   server<literal> foo</literal>:
+   Modifier le mot de passe pour la correspondance d'utilisateur <literal>bob</literal>,
+   et le serveur <literal> foo</literal>&nbsp;:
 <programlisting>
 ALTER USER MAPPING FOR bob SERVER foo OPTIONS (user 'bob', password 'public');
 </programlisting>
@@ -100,23 +100,22 @@
  </refsect1>
 
  <refsect1>
-  <title>Compatibility</title>
+  <title>Compatibilité</title>
 
   <para>
-   <command>ALTER USER MAPPING</command> conforms to ISO/IEC 9075-9
-   (SQL/MED).  There is a subtle syntax issue: The standard omits
-   the <literal>FOR</literal> key word.  Since both <literal>CREATE
-   USER MAPPING</literal> and <literal>DROP USER MAPPING</literal> use
-   <literal>FOR</literal> in analogous positions, and IBM DB2 (being
-   the other major SQL/MED implementation) also requires it
-   for <literal>ALTER USER MAPPING</literal>, PostgreSQL diverges from
-   the standard here in the interest of consistency and
-   interoperability.
+   <command>ALTER USER MAPPING</command> est conforme à la norme
+   ISO/IEC 9075-9 (SQL/MED). Il y a un problème de syntaxe subtil&nbsp;:
+   le standard omet le mot clé <literal>FOR</literal>. Puisque
+   <literal>CREATE USER MAPPING</literal> et <literal>DROP USER MAPPING</literal>
+   utilisent tous les deux <literal>FOR</literal> à un endroit analogue et
+   que DB2 d'IBM (l'autre implémentation majeure de SQL/MED) l'impose aussi pour
+   <literal>ALTER USER MAPPING</literal>, PostgreSQL diverge du standard pour
+   des raisons de cohérence et de compatibilité.
   </para>
  </refsect1>
 
  <refsect1>
-  <title>See Also</title>
+  <title>Voir aussi</title>
 
   <simplelist type="inline">
    <member><xref linkend="sql-createusermapping" endterm="sql-createusermapping-title"/></member>

Modified: traduc/trunk/postgresql/ref/psql-ref.xml
===================================================================
--- traduc/trunk/postgresql/ref/psql-ref.xml	2009-04-26 11:58:08 UTC (rev 1308)
+++ traduc/trunk/postgresql/ref/psql-ref.xml	2009-04-26 21:32:49 UTC (rev 1309)
@@ -443,9 +443,10 @@
       </para>
 
       <para>
-       Note that this option will remain set for the entire session,
-       and so it affects uses of the meta-command
-       <command>\connect</command> as well as the initial connection attempt.
+       Notez que cette option restera positionnée pour l'ensemble de la session,
+       et qu'elle affecte aussi l'utilisation de la méta-commande
+       <command>\connect</command> en plus de la tentative de connexion
+       initiale.
       </para>
      </listitem>
     </varlistentry>
@@ -871,17 +872,17 @@
       </varlistentry>
 
       <varlistentry>
-        <term><literal>\d[S+] [ <replaceable class="parameter">modèle</replaceable> ]</literal></term>
+        <term><literal>\d[S+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
 
         <listitem>
         <para>
 	Pour chaque relation (table, vue, index ou séquence) correspondant au
-	<replaceable class="parameter">modèle</replaceable>, affiche toutes les
+	<replaceable class="parameter">motif</replaceable>, affiche toutes les
 	colonnes, leur types, le tablespace (s'il ne s'agit pas du tablespace
 	par défaut) et tout attribut spécial tel que <literal>NOT
 	NULL</literal> ou les valeurs par défaut. Les index, contraintes, règles
 	et déclencheurs associés sont aussi affichés, ainsi que la définition de
-	la vue si la relation est une vue. (Ce qui <quote>Correspond au modèle</quote> est
+	la vue si la relation est une vue. (Ce qui <quote>Correspond au motif</quote> est
 	défini ci-dessous.)
 	</para>
 
@@ -893,18 +894,17 @@
 	</para>
 
         <para>
-        By default, only user-created objects are shown;  supply a
-        pattern or the <literal>S</literal> modifier to include system
-        objects.
+        Par défaut, seuls les objets créés par les utilisateurs sont affichés&nbsp;;
+        fournissez un motif ou le modificateur <literal>S</literal> pour afficher
+        les objets systèmes.
         </para>
 
 	<note>
 	<para>
 	Si <command>\d</command> est utilisé sans argument
-	<replaceable class="parameter">modèle</replaceable>, c'est équivalent
-    en plus commode à
-	<command>\dtvs</command> qui affiche une liste de toutes les tables,
-	vues et séquence.
+	<replaceable class="parameter">motif</replaceable>, c'est équivalent,
+        en plus commode, à <command>\dtvs</command> qui affiche une liste de
+	toutes les tables, vues et séquences.
 	</para>
 	</note>
 	</listitem>
@@ -912,31 +912,31 @@
 
       <varlistentry>
         <term><literal>\da[S] [ <replaceable
-	 class="parameter">modèle</replaceable> ]</literal></term>
+	 class="parameter">motif</replaceable> ]</literal></term>
 
         <listitem>
         <para>
         Liste toutes les fonctions d'agrégat disponibles, avec lee type de retour
         et les types de données sur lesquels elles opèrent. Si <replaceable
-        class="parameter">modèle</replaceable> est spécifié, seuls les agrégats
-        dont les noms commencent par le modèle sont affichés.
-        By default, only user-created objects are shown;  supply a
-        pattern or the <literal>S</literal> modifier to include system
-        objects.
+        class="parameter">motif</replaceable> est spécifié, seuls les agrégats
+        dont les noms commencent par le motif sont affichés.
+        Par défaut, seuls les objets créés par les utilisateurs sont affichés&nbsp;;
+        fournissez un motif ou le modificateur <literal>S</literal> pour afficher
+        les objets systèmes.
         </para>
         </listitem>
       </varlistentry>
 
 
       <varlistentry>
-        <term><literal>\db[+] [ <replaceable class="parameter">modèle</replaceable> ]</literal></term>
+        <term><literal>\db[+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
 
       <listitem>
       <para>
       Liste tous les tablespaces disponibles. Si <replaceable
-      class="parameter">modèle</replaceable> est spécifié, seuls les tablespaces
-      dont le nom correspond au modèle sont affichés. Si
-      <literal>+</literal> est ajouté au nom de la commande, chaque objet est
+      class="parameter">motif</replaceable> est spécifié, seuls les tablespaces
+      dont le nom correspond au motif sont affichés. Si
+      <literal>+</literal> est ajouté à la fin de la commande, chaque objet est
       listé avec les droits associés.
       </para>
       </listitem>
@@ -944,29 +944,29 @@
 
       <varlistentry>
         <term><literal>\dc[S] [ <replaceable
-	class="parameter">modèle</replaceable> ]</literal></term>
+	class="parameter">motif</replaceable> ]</literal></term>
         <listitem>
         <para>
         Liste toutes les conversions disponibles entre les encodages de
 	jeux de caractères. Si <replaceable
-	class="parameter">modèle</replaceable> est spécifié, seules les
-	conversions dont le nom correspond au modèle sont listées.
-        By default, only user-created objects are shown;  supply a
-        pattern or the <literal>S</literal> modifier to include system
-        objects.
+	class="parameter">motif</replaceable> est spécifié, seules les
+	conversions dont le nom correspond au motif sont listées.
+        Par défaut, seuls les objets créés par les utilisateurs sont affichés&nbsp;;
+        fournissez un motif ou le modificateur <literal>S</literal> pour afficher
+        les objets systèmes.
         </para>
         </listitem>
       </varlistentry>
 
 
       <varlistentry>
-        <term><literal>\dC [ <replaceable class="parameter">modèle</replaceable> ]</literal></term>
+        <term><literal>\dC [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
         <listitem>
         <para>
         Liste toutes les conversions de types disponibles.
-        If <replaceable class="parameter">pattern</replaceable>
-        is specified, only casts whose source or target types match the
-        pattern are listed.
+        Si <replaceable class="parameter">motif</replaceable> est indiqué,
+	seules sont affichées les conversions dont le type source ou cible
+	correspond au motif.
         </para>
         </listitem>
       </varlistentry>
@@ -974,16 +974,16 @@
 
       <varlistentry>
         <term><literal>\dd[S] [ <replaceable
-	class="parameter">modèle</replaceable> ]</literal></term>
+	class="parameter">motif</replaceable> ]</literal></term>
         <listitem>
         <para>
         Affiche les descriptions des objets correspondant au <replaceable
-        class="parameter">modèle</replaceable> ou de tous les objets si aucun
+        class="parameter">motif</replaceable> ou de tous les objets si aucun
 	argument n'est donné. Mais dans tous les cas, seuls les objets qui ont
 	une description sont listés.
-        By default, only user-created objects are shown;  supply a
-        pattern or the <literal>S</literal> modifier to include system
-        objects.
+        Par défaut, seuls les objets créés par les utilisateurs sont affichés&nbsp;;
+        fournissez un motif ou le modificateur <literal>S</literal> pour afficher
+        les objets systèmes.
 	Le terme <quote>objet</quote> couvre les
 	agrégats, les fonctions, les opérateurs, les types, les relations
 	(tables, vues, index, séquences, objets larges), les règles et les
@@ -1009,53 +1009,54 @@
 
       <varlistentry>
         <term><literal>\dD[S] [ <replaceable
-	 class="parameter">modèle</replaceable> ]</literal></term>
+	 class="parameter">motif</replaceable> ]</literal></term>
         <listitem>
         <para>
         Liste tous les domaines disponibles. Si <replaceable
-        class="parameter">modèle</replaceable> est spécifié, seuls les
+        class="parameter">motif</replaceable> est spécifié, seuls les
 	domaines correspondant sont affichés.
-        By default, only user-created objects are shown;  supply a
-        pattern or the <literal>S</literal> modifier to include system
-        objects.
+        Par défaut, seuls les objets créés par les utilisateurs sont affichés&nbsp;;
+        fournissez un motif ou le modificateur <literal>S</literal> pour afficher
+        les objets systèmes.
         </para>
         </listitem>
       </varlistentry>
 
 
       <varlistentry>
-        <term><literal>\des[+] [ <replaceable class="parameter">pattern</replaceable> ]</literal></term>
+        <term><literal>\des[+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
         <listitem>
         <para>
-        Lists all foreign servers (mnemonic: <quote>external
+        Liste tous les serveurs distants (mnémonique&nbsp;: <quote>external
         servers</quote>).
-        If <replaceable class="parameter">pattern</replaceable> is
-        specified, only those servers whose name matches the pattern
-        are listed.  If the form <literal>\des+</literal> is used, a
-        full desription of each server is shown, including the
-        server's ACL, type, version, and options.
+        Si <replaceable class="parameter">motif</replaceable> est
+        spécifié, seuls les serveurs dont le nom correspond au motif sont
+        affichés. Si la forme <literal>\des+</literal> est utilisée, une description
+        complète de chaque serveur est affichée, incluant la liste de contrôle
+        d'accès du serveur (ACL), type, version et options.
         </para>
         </listitem>
       </varlistentry>
 
 
       <varlistentry>
-        <term><literal>\deu[+] [ <replaceable class="parameter">pattern</replaceable> ]</literal></term>
+        <term><literal>\deu[+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
         <listitem>
         <para>
-        Lists all user mappings (mnemonic: <quote>external
-        users</quote>).
-        If <replaceable class="parameter">pattern</replaceable> is
-        specified, only those mappings whose user names match the
-        pattern are listed.  If the form <literal>\deu+</literal> is
-        used, additional information about each mapping is shown.
+        Liste toutes les correspondances d'utilisateurs (mnémonique&nbsp;:
+	<quote>external users</quote>).
+        Si <replaceable class="parameter">motif</replaceable> est
+        spécifié, seules les correspondances dont le nom correspond au motif sont
+        affichées. Si la forme <literal>\deu+</literal> est utilisée, des
+        informations supplémentaires sur chaque correspondance d'utilisateur
+        sont affichées.
         </para>
 
         <caution>
         <para>
-        <literal>\deu+</literal> might also display the user name and
-        password of the remote user, so care should be taken not to
-        disclose them.
+        <literal>\deu+</literal> risque aussi d'afficher le nom et le mot de
+        passe de l'utilisateur distant, il est donc important de faire attention
+        à ne pas les divulguer.
         </para>
         </caution>
         </listitem>
@@ -1063,34 +1064,33 @@
 
 
       <varlistentry>
-        <term><literal>\dew[+] [ <replaceable class="parameter">pattern</replaceable> ]</literal></term>
+        <term><literal>\dew[+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
         <listitem>
         <para>
-        Lists all foreign-data wrappers (mnemonic: <quote>external
+        Liste tous les wrappers de données distants (mnémonique&nbsp;: <quote>external
         wrappers</quote>).
-        If <replaceable class="parameter">pattern</replaceable> is
-        specified, only those foreign-data wrappers whose name matches
-        the pattern are listed.  If the form <literal>\dew+</literal>
-        is used, the ACL and options of the foreign-data wrapper are
-        also shown.
+        Si <replaceable class="parameter">motif</replaceable> est
+        spécifié, seuls les wrappers dont le nom correspond au motif sont
+        affichés. Si la forme <literal>\dew+</literal> est utilisée, les ACL et
+        options du wrapper sont aussi affichées.
         </para>
         </listitem>
       </varlistentry>
 
 
       <varlistentry>
-        <term><literal>\df[S+] [ <replaceable class="parameter">modèle</replaceable> ]</literal></term>
+        <term><literal>\df[S+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
         <listitem>
         <para>
         Liste toutes les fonctions disponibles avec leurs arguments et les types
-	en retour. Si <replaceable class="parameter">modèle</replaceable> est
-	spécifié, seules les fonctions dont le nom correspond au modèle sont
+	en retour. Si <replaceable class="parameter">motif</replaceable> est
+	spécifié, seules les fonctions dont le nom correspond au motif sont
 	affichées. Si la forme <literal>\df+</literal> est utilisée, des
 	informations supplémentaires sur chaque fonction, dont la volatibilité,
 	le langage, le code source et la description, sont proposées.
-        By default, only user-created objects are shown;  supply a
-        pattern or the <literal>S</literal> modifier to include system
-        objects.
+        Par défaut, seuls les objets créés par les utilisateurs sont affichés&nbsp;;
+        fournissez un motif ou le modificateur <literal>S</literal> pour afficher
+        les objets systèmes.
         </para>
 
         <note>
@@ -1107,12 +1107,12 @@
 
 
       <varlistentry>
-        <term><literal>\dF[+] [ <replaceable class="parameter">modèle</replaceable> ]</literal></term>
+        <term><literal>\dF[+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
         <listitem>
         <para>
          Liste les configurations de la recherche plein texte.
-	 Si <replaceable class="parameter">modèle</replaceable> est spécifié,
-	 seules les configurations dont le nom correspond au modèle seront
+	 Si <replaceable class="parameter">motif</replaceable> est spécifié,
+	 seules les configurations dont le nom correspond au motif seront
 	 affichées. Si la forme <literal>\dF+</literal> est utilisée, une
 	 description complète de chaque configuration est affichée, ceci
 	 incluant l'analyseur de recherche plein texte et la liste de dictionnaire
@@ -1122,27 +1122,27 @@
       </varlistentry>
 
       <varlistentry>
-        <term><literal>\dFd[+] [ <replaceable class="parameter">modèle</replaceable> ]</literal></term>
+        <term><literal>\dFd[+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
         <listitem>
         <para>
 	 Liste les dictionnaires de la recherche plein texte.
-	 Si <replaceable class="parameter">modèle</replaceable> est spécifié,
-	 seuls les dictionnaires dont le nom correspond au modèle seront
+	 Si <replaceable class="parameter">motif</replaceable> est spécifié,
+	 seuls les dictionnaires dont le nom correspond au motif seront
 	 affichés. Si la forme <literal>\dFd+</literal> est utilisée, des
 	 informations supplémentaires sont affichées pour chaque dictionnaire,
-	 ceci incluant le modèle de recherche plein texte et les valeurs des
+	 ceci incluant le motif de recherche plein texte et les valeurs des
 	 options.
         </para>
         </listitem>
       </varlistentry>
 
       <varlistentry>
-        <term><literal>\dFp[+] [ <replaceable class="parameter">modèle</replaceable> ]</literal></term>
+        <term><literal>\dFp[+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
         <listitem>
         <para>
 	 Liste les analyseurs de la recherche plein texte.
-	 Si <replaceable class="parameter">modèle</replaceable> est spécifié,
-	 seuls les analyseurs dont le nom correspond au modèle seront
+	 Si <replaceable class="parameter">motif</replaceable> est spécifié,
+	 seuls les analyseurs dont le nom correspond au motif seront
 	 affichés. Si la forme <literal>\dFp+</literal> est utilisée, une
 	 description complète de chaque analyseur est affichée,
 	 ceci incluant les fonctions sous-jacentes et les types de jeton
@@ -1152,14 +1152,14 @@
       </varlistentry>
 
       <varlistentry>
-        <term><literal>\dFt[+] [ <replaceable class="parameter">modèle</replaceable> ]</literal></term>
+        <term><literal>\dFt[+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
         <listitem>
         <para>
-	 Liste les modèles de la recherche plein texte.
-	 Si <replaceable class="parameter">modèle</replaceable> est spécifié,
-	 seuls les modèles dont le nom correspond au modèle seront
+	 Liste les motifs de la recherche plein texte.
+	 Si <replaceable class="parameter">motif</replaceable> est spécifié,
+	 seuls les motifs dont le nom correspond au motif seront
 	 affichés. Si la forme <literal>\dFt+</literal> est utilisée, des
-	 informations supplémentaires sont affichées pour chaque modèle, ceci
+	 informations supplémentaires sont affichées pour chaque motif, ceci
 	 incluant les noms des fonctions sous-jacentes.
         </para>
         </listitem>
@@ -1167,12 +1167,12 @@
 
 
       <varlistentry>
-      <term><literal>\dg [ <replaceable class="parameter">modèle</replaceable> ]</literal></term>
+      <term><literal>\dg [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
       <listitem>
       <para>
       Liste tous les rôles des bases de données. Si <replaceable
-      class="parameter">modèle</replaceable> est spécifié, seuls les rôles
-      dont le nom correspond au modèle sont listés.
+      class="parameter">motif</replaceable> est spécifié, seuls les rôles
+      dont le nom correspond au motif sont listés.
       (Cette commande est maintenant réellement identique à <literal>\du</literal>.)
       </para>
       </listitem>
@@ -1180,31 +1180,31 @@
 
 
       <varlistentry>
-        <term><literal>\di[S+] [ <replaceable class="parameter">modèle</replaceable> ]</literal></term>
-        <term><literal>\ds[S+] [ <replaceable class="parameter">modèle</replaceable> ]</literal></term>
-        <term><literal>\dt[S+] [ <replaceable class="parameter">modèle</replaceable> ]</literal></term>
-        <term><literal>\dv[S+] [ <replaceable class="parameter">modèle</replaceable> ]</literal></term>
+        <term><literal>\di[S+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
+        <term><literal>\ds[S+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
+        <term><literal>\dt[S+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
+        <term><literal>\dv[S+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
 
 	<listitem>
 	<para>
-        In this group of commands, the letters
+        Dans ce groupe de commandes, les lettres
         <literal>i</literal>, <literal>s</literal>,
-        <literal>t</literal>, and <literal>v</literal>
-        stand for index, sequence, table, and view, respectively.
-        You can specify any or all of
-        these letters, in any order, to obtain a listing of all the
-        matching objects.  For example, <literal>\dit</literal> lists indexes
-        and tables.  If <literal>+</literal> is
-        appended to the command name, each object is listed with its
-        physical size on disk and its associated description, if any.
-        By default, only user-created objects are shown;  supply a
-        pattern or the <literal>S</literal> modifier to include system
-        objects.
+        <literal>t</literal> et <literal>v</literal>
+        correspondent respectivement à index, séquence, table et vue.
+        Vous pouvez indiquer n'importe quelle combinaison de ces lettres, dans
+        n'importe quel ordre, pour obtenir la liste de tous les objets
+        correspondants. Par exemple, <literal>\dit</literal> liste les index et
+        tables. Si <literal>+</literal> est ajouté à la fin de la commande, chaque
+        objet est listé avec sa taille physique sur disque et sa description
+        associée s'il y en a une.
+        Par défaut, seuls les objets créés par les utilisateurs sont affichés&nbsp;;
+        fournissez un motif ou le modificateur <literal>S</literal> pour afficher
+        les objets systèmes.
 	</para>
 
 	<para>
-	Si <replaceable class="parameter">modèle</replaceable> est spécifié,
-	seuls les objets dont les noms correspondent au modèle sont listés.
+	Si <replaceable class="parameter">motif</replaceable> est spécifié,
+	seuls les objets dont les noms correspondent au motif sont listés.
 	</para>
 	</listitem>
       </varlistentry>
@@ -1222,15 +1222,15 @@
 
 
       <varlistentry>
-        <term><literal>\dn[+] [ <replaceable class="parameter">modèle</replaceable> ]</literal></term>
+        <term><literal>\dn[+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
 
         <listitem>
         <para>
         Liste tous les schémas disponibles. Si <replaceable
-        class="parameter">modèle</replaceable> (une expression régulière) est
-	spécifiée, seuls les schémas dont le nom correspond au modèle sont
+        class="parameter">motif</replaceable> (une expression régulière) est
+	spécifiée, seuls les schémas dont le nom correspond au motif sont
 	listés. Tout schéma temporaire non local est supprimé. Si
-	<literal>+</literal> est ajoutée au nom de la commande, chaque objet est
+	<literal>+</literal> est ajouté à la fin de la commande, chaque objet est
 	listé avec ses droits et description associés.
         </para>
         </listitem>
@@ -1238,17 +1238,17 @@
 
 
       <varlistentry>
-        <term><literal>\do[S] [ <replaceable class="parameter">modèle</replaceable>
+        <term><literal>\do[S] [ <replaceable class="parameter">motif</replaceable>
 	]</literal></term>
         <listitem>
         <para>
         Liste tous les opérateurs disponibles avec leur opérande et type en
-	retour. Si <replaceable class="parameter">modèle</replaceable> est
-	spécifié, seuls les opérateurs dont le nom correspond au modèle sont
+	retour. Si <replaceable class="parameter">motif</replaceable> est
+	spécifié, seuls les opérateurs dont le nom correspond au motif sont
 	listés.
-        By default, only user-created objects are shown;  supply a
-        pattern or the <literal>S</literal> modifier to include system
-        objects.
+        Par défaut, seuls les objets créés par les utilisateurs sont affichés&nbsp;;
+        fournissez un motif ou le modificateur <literal>S</literal> pour afficher
+        les objets systèmes.
         </para>
         </listitem>
       </varlistentry>
@@ -1256,13 +1256,13 @@
 
       <varlistentry>
         <term><literal>\dp [ <replaceable
-	class="parameter">modèle</replaceable> ]</literal></term>
+	class="parameter">motif</replaceable> ]</literal></term>
 	<listitem>
 	<para>
         Liste toutes les tables, vues et séquences disponibles
 	avec leur droits d'accès associés. Si <replaceable
-	class="parameter">modèle</replaceable> est spécifié, seules les tables,
-	vues et séquences dont le nom correspond au modèle sont listées.
+	class="parameter">motif</replaceable> est spécifié, seules les tables,
+	vues et séquences dont le nom correspond au motif sont listées.
 	</para>
 
 	<para>
@@ -1275,31 +1275,31 @@
 
 
       <varlistentry>
-        <term><literal>\dT[S+] [ <replaceable class="parameter">modèle</replaceable> ]</literal></term>
+        <term><literal>\dT[S+] [ <replaceable class="parameter">motif</replaceable> ]</literal></term>
         <listitem>
         <para>
-        Lists available data types.
-        If <replaceable class="parameter">pattern</replaceable> is
-        specified, only types whose names match the pattern are listed.
-        If <literal>+</literal> is appended to the command name, each type is
-        listed with its internal name and size, as well as its allowed values
-        if it is an <type>enum</type> type.
-        By default, only user-created objects are shown;  supply a
-        pattern or the <literal>S</literal> modifier to include system
-        objects.
+        Liste les types de données disponibles.
+        Si <replaceable class="parameter">motif</replaceable> est
+        spécifié, seuls les types dont le nom correspond au motif sont
+        affichés. Si <literal>+</literal> est ajouté à la fin de la commande,
+        chaque type est listé avec son nom interne et sa taille, ainsi que ses
+        valeurs autorisées si c'est un type <type>enum</type>.
+        Par défaut, seuls les objets créés par les utilisateurs sont affichés&nbsp;;
+        fournissez un motif ou le modificateur <literal>S</literal> pour afficher
+        les objets systèmes.
         </para>
         </listitem>
       </varlistentry>
 
 
       <varlistentry>
-        <term><literal>\du [ <replaceable class="parameter">modèle</replaceable>
+        <term><literal>\du [ <replaceable class="parameter">motif</replaceable>
 	]</literal></term>
         <listitem>
         <para>
-        Liste tous les rôles de la base de données. If <replaceable
-        class="parameter">pattern</replaceable> is specified, only
-        those roles whose names match the pattern are listed.
+        Liste tous les rôles de la base de données. Si 
+        <replaceable class="parameter">motif</replaceable> est
+        spécifié, seuls les rôles dont le nom correspond au motif sont affichés.
         </para>
         </listitem>
       </varlistentry>
@@ -1346,24 +1346,26 @@
 
         <listitem>
         <para>
-         This command fetches and edits the definition of the named function,
-         in the form of a <command>CREATE OR REPLACE FUNCTION</command> command.
-         Editing is done in the same way as for <literal>\e</literal>.
-         After the editor exits, the updated command waits in the query buffer;
-         type semicolon or <literal>\g</literal> to send it, or
-         <literal>\r</literal> to cancel.
+         Cette commande récupère et édite la définition de la fonction
+	 désignée au moyen d'une commande <command>CREATE OR REPLACE
+	 FUNCTION</command>.
+         L'édition est faite de la même façon que pour <literal>\e</literal>.
+         Après que l'éditeur se soit fermé, la commande mise à jour attend
+         dans le tampon de requête&nbsp;; tapez <literal>;</literal> ou
+         <literal>\g</literal> pour l'envoyer, ou <literal>\r</literal> pour
+         l'annuler.
         </para>
 
         <para>
-         The target function can be specified by name alone, or by name
-         and arguments, for example <literal>foo(integer, text)</literal>.
-         The argument types must be given if there is more
-         than one function of the same name.
+         La fonction cible peut être spécifiée par son nom seul, ou par son
+         nom et ses arguments, par exemple <literal>foo(integer, text)</literal>.
+         Les types d'arguments doivent être fournis s'il y a plus d'une fonction
+         du même nom.
         </para>
 
         <para>
-         If no function is specified, a blank <command>CREATE
-         FUNCTION</command> template is presented for editing.
+         Si aucune fonction n'est spécifiée, un modèle d'ordre <command>CREATE
+         FUNCTION</command> vierge est affiché pour édition.
         </para>
         </listitem>
       </varlistentry>
@@ -1507,12 +1509,12 @@
 	<term><literal>\l+</literal> (ou <literal>\list+</literal>)</term>
         <listitem>
         <para>
-        List the names, owners, character set encodings, and access privileges
-        of all the databases in the server.
-        If <literal>+</literal> is appended to the command name, database
-        sizes, default tablespaces, and descriptions are also displayed.
-        (Size information is only available for databases that the current
-        user can connect to.)
+        Liste les noms, propriétaires, encodage de jeux de caractères et
+        droits d'accès de toutes les bases du serveur.
+        Si <literal>+</literal> est ajouté à la fin de la commande, la taille
+        des bases, les tablespaces par défaut et les descriptions sont aussi
+        affichées. (Les tailles ne sont disponibles que pour les bases 
+        auxquelles l'utilisateur courant a le droit de se connecter.)
         </para>
         </listitem>
       </varlistentry>
@@ -1717,19 +1719,21 @@
 	  par des virgules). Le mode <quote>Aligned</quote> est l'affichage
 	  texte standard, lisible par un humain, proprement formaté. C'est aussi
 	  la valeur par défaut.
-          </para>
+      </para>
 
-          <para>
-          <quote>Wrapped</quote> is like <literal>aligned</literal> but wraps
-          output to the specified width.  If <literal>\pset columns</literal> is
-          zero (the default), <literal>wrapped</literal> mode only affects screen
-          output and wrapped width is controlled by the environment
-          variable <envar>COLUMNS</envar> or the detected screen width.  If
-          <literal>\pset columns</literal> is set to a non-zero value, all output
-          is wrapped, including file and pipe output.
-          </para>
+      <para>
+      <quote>wrapped</quote> est comme <literal>aligned</literal>, mais rajoute
+      des retours à la ligne automatiques à la largeur spécifiée. Si
+      <literal>\pset columns</literal> vaut zéro (la valeur par défaut), le mode
+      <literal>wrapped</literal> n'affecte que la sortie vers un écran et la
+      largeur de sortie est contrôlée par la variable d'environnement
+      <envar>COLUMNS</envar> ou par la largeur d'écran détectée. Si 
+      <literal>\pset columns</literal> est positionné à une valeur non nulle,
+      toutes les sorties sont découpées, dont les sorties vers fichier et vers
+      tube.
+      </para>
 
-          <para>
+      <para>
           Les modes <quote><acronym>HTML</acronym></quote>
 	  et <quote>LaTeX</quote> produisent des tables destinées à être
 	  inclues dans des documents utilisant le langage de marques respectif.
@@ -1758,10 +1762,10 @@
           <term><literal>columns</literal></term>
           <listitem>
           <para>
-          Controls the target width for the <literal>wrapped</literal> format,
-          and width for determining if wide output requires the pager.
-          Zero (the default) causes the <literal>wrapped</literal> format to
-          affect only screen output.
+          Contrôle la largeur cible pour le format <literal>wrapped</literal>,
+          et la largeur pour déterminer si une sortie large a besoin du pager.
+          Pour la valeur zéro (défaut), le format <literal>wrapped</literal>
+          n'affecte que la sortie écran.
           </para>
           </listitem>
           </varlistentry>
@@ -2072,8 +2076,9 @@
        <term><literal>\timing [ <replaceable class="parameter">on</replaceable> | <replaceable class="parameter">off</replaceable> ]</literal></term>
         <listitem>
         <para>
-         Without parameter, affiche le temps pris par chaque instruction SQL, en
-	 millisecondes, ou arrête cet affichage. With parameter, sets same.
+         Sans paramètre, affiche le temps pris par chaque instruction SQL, en
+         millisecondes, ou arrête cet affichage. Avec paramètre, force la valeur
+         au paramètre.
         </para>
        </listitem>
       </varlistentry>
@@ -2106,13 +2111,13 @@
 
       <varlistentry>
         <term><literal>\z [ <replaceable
-	class="parameter">modèle</replaceable> ]</literal></term>
+	class="parameter">motif</replaceable> ]</literal></term>
         <listitem>
         <para>
         Produit une liste de toutes les tables, vues et séquences disponibles
 	avec leur droit d'accès associé. Si un <replaceable
-	class="parameter">modèle</replaceable> est spécifié, seules les tables,
-	vues et séquences dont le nom correspond au modèle sont listées.
+	class="parameter">motif</replaceable> est spécifié, seules les tables,
+	vues et séquences dont le nom correspond au motif sont listées.
 	</para>
 
 	<para>
@@ -2155,48 +2160,48 @@
   </para>
 
   <refsect3 id="app-psql-patterns">
-   <title id="app-psql-patterns-title">Modèles</title>
+   <title id="app-psql-patterns-title">motifs</title>
 
    <indexterm>
-    <primary>modèles</primary>
+    <primary>motifs</primary>
     <secondary>dans psql et pg_dump</secondary>
    </indexterm>
 
   <para>
    Les différentes commandes <literal>\d</literal> acceptent un paramètre
-   <replaceable class="parameter">modèle</replaceable> pour spécifier le(s)
-   nom(s) d'objet à afficher. Dans le cas le plus simple, un modèle est
+   <replaceable class="parameter">motif</replaceable> pour spécifier le(s)
+   nom(s) d'objet à afficher. Dans le cas le plus simple, un motif est
    seulement le nom exact de l'objet. Les caractères à l'intérieur du
-   modèle sont normalement mis en minuscule comme pour les noms SQL&nbsp;;
+   motif sont normalement mis en minuscule comme pour les noms SQL&nbsp;;
    par exemple, <literal>\dt FOO</literal> affichera la table nommée
    <literal>foo</literal>. Comme pour les noms SQL, placer des guillemets
-   doubles autour d'un modèle empêchera la mise en minuscule. Si vous devez
-   inclure un guillemet double dans un modèle, écrivez-le en double en
+   doubles autour d'un motif empêchera la mise en minuscule. Si vous devez
+   inclure un guillemet double dans un motif, écrivez-le en double en
    accord avec les règles sur les identifiants SQL. Par exemple,
    <literal>\dt "FOO""BAR"</literal> affichera la table nommée
    <literal>FOO"BAR</literal> (et non pas <literal>foo"bar</literal>).
    Contrairement aux règles normales pour les noms SQL, vous pouvez placer
-   des guillemets doubles simplement autour d'une partie d'un modèle,
+   des guillemets doubles simplement autour d'une partie d'un motif,
    par exemple <literal>\dt FOO"FOO"BAR</literal> affichera la table nommée
    <literal>fooFOObar</literal>.
   </para>
 
   <para>
-   À l'intérieur d'un modèle, <literal>*</literal> correspond à toute
+   À l'intérieur d'un motif, <literal>*</literal> correspond à toute
    séquence de caractères (et aussi à aucun) alors que <literal>?</literal> ne
    correspond qu'à un seul caractère. (Cette notation est comparable à celle des
-   modèles de nom de fichier Unix.) Par exemple, <literal>\dt int*</literal>
+   motifs de nom de fichier Unix.) Par exemple, <literal>\dt int*</literal>
    affiche les tables dont le nom commence avec <literal>int</literal>. Mais à
    l'intérieur de guillemets doubles, <literal>*</literal> et <literal>?</literal>
    perdent leurs significations spéciales et sont donc traités directement.
   </para>
 
   <para>
-   Un modèle qui contient un point (<literal>.</literal>) est interprété comme
-   le modèle d'un nom de schéma suivi par celui d'un nom d'objet. Par exemple,
+   Un motif qui contient un point (<literal>.</literal>) est interprété comme
+   le motif d'un nom de schéma suivi par celui d'un nom d'objet. Par exemple,
    <literal>\dt foo*.*bar*</literal> affiche toutes les tables dont le nom
    inclut <literal>bar</literal> et qui sont dans des schémas dont le
-   nom commence avec <literal>foo</literal>. Sans point, le modèle correspond
+   nom commence avec <literal>foo</literal>. Sans point, le motif correspond
    seulement avec les objets qui sont visibles dans le chemin de recherche
    actuel des schémas. De nouveau, un point dans des guillemets doubles
    perd sa signification spéciale et est traité directement.
@@ -2218,25 +2223,25 @@
    <literal>(<replaceable class="parameter">R</replaceable>|)</literal> pour
    <literal><replaceable class="parameter">R</replaceable>?</literal>.
    <literal>$</literal> n'est pas nécessaire en tant que caractère d'une
-   expression rationnelle car le modèle doit correspondre au nom complet,
+   expression rationnelle car le motif doit correspondre au nom complet,
    contrairement à l'interprétation habituelle des expressions rationnelles
    (en d'autres termes, <literal>$</literal> est ajouté automatiquement à
-   votre modèle). Écrivez <literal>*</literal> au début et/ou à la fin si
-   vous ne souhaitez pas que le modèle soit ancré.
+   votre motif). Écrivez <literal>*</literal> au début et/ou à la fin si
+   vous ne souhaitez pas que le motif soit ancré.
    Notez qu'à l'intérieur de guillemets doubles, tous les
    caractères spéciaux des expressions rationnelles perdent leur signification
    spéciale et sont traités directement. De plus, ces caractères sont traités
-   littéralement dans les modèles des noms d'opérateurs (par exemple
+   littéralement dans les motifs des noms d'opérateurs (par exemple
    pour l'argument de <literal>\do</literal>).
   </para>
 
   <para>
    Lorsque <replaceable
-   class="parameter">modèle</replaceable> est complètement omis, les commandes
+   class="parameter">motif</replaceable> est complètement omis, les commandes
    <literal>\d</literal> affichent tous les objets visibles dans le chemin de
    recherche actuel du schéma &mdash; c'est équivalent à l'utilisation du
-   modèle <literal>*</literal>. Pour voir tous les objets dans la base de
-   données, utilisez le modèle <literal>*.*</literal>.
+   motif <literal>*</literal>. Pour voir tous les objets dans la base de
+   données, utilisez le motif <literal>*.*</literal>.
   </para>
   </refsect3>
  </refsect2>
@@ -2958,9 +2963,9 @@
 
     <listitem>
      <para>
-      If <literal>\pset columns</literal> is zero, controls the
-      width for the <literal>wrapped</literal> format and width for determining
-      if wide output requires the pager.
+      Si <literal>\pset columns</literal> vaut zéro, contrôle la largeur pour
+      le format <literal>wrapped</literal> et la largeur pour déterminer si
+      une sortie large a besoin du pager.
      </para>
     </listitem>
    </varlistentry>
@@ -3082,24 +3087,26 @@
 
     <itemizedlist>
       <listitem>
-      <para>
-      Dans une vie précédente, <application>psql</application> permettait au
-      premier argument d'une commande antislash à une seule lettre de commencer
-      directement après la commande, sans espace séparateur. As of
-      <productname>PostgreSQL</productname> 8.4 this is no longer allowed.
-      </para>
+       <para>
+        Dans une vie précédente, <application>psql</application> permettait au
+        premier argument d'une commande antislash à une seule lettre de commencer
+        directement après la commande, sans espace séparateur. À partir de
+        <productname>PostgreSQL</productname> 8.4, ce n'est plus autorisé.
+       </para>
       </listitem>
 
       <listitem>
       <para>
-       <application>psql</application> is only guaranteed to work smoothly
-       with servers of the same version. That does not mean other combinations
-       will fail outright, but subtle and not-so-subtle problems might come
-       up.  Backslash commands are particularly likely to fail if the
-       server is of a newer version than <application>psql</application> itself.  However,
-       backslash commands of the <literal>\d</literal> family should work with
-       servers of versions back to 7.4, though not necessarily with servers
-       newer than  <application>psql</application> itself.
+       Le fonctionnement de <application>psql</application> n'est garanti qu'avec
+       des serveurs de même version. Cela ne signifie pas que d'autres combinaisons
+       vont complètement échouer, mais des problèmes subtils, voire moins subtils,
+       pourraient apparaître. Les méta-commandes sont particulièrements
+       fragiles si le serveur est d'une version plus récente que
+       <application>psql</application> lui-même. Toutefois,
+       les commandes backslash de la famille <literal>\d</literal> devraient
+       fonctionner avec des serveurs 7.4 jusqu'à la version courante,
+       même si pas nécessairement avec des serveurs plus récents que
+       <application>psql</application> lui-même.
       </para>
       </listitem>
 

Modified: traduc/trunk/postgresql/ref/revoke.xml
===================================================================
--- traduc/trunk/postgresql/ref/revoke.xml	2009-04-26 11:58:08 UTC (rev 1308)
+++ traduc/trunk/postgresql/ref/revoke.xml	2009-04-26 21:32:49 UTC (rev 1309)
@@ -114,10 +114,9 @@
    <literal>PUBLIC</literal> ne veut pas nécessairement dire que plus aucun rôle
    n'a le droit de faire de <literal>SELECT</literal> sur l'objet&nbsp;: ceux qui en
    avaient obtenu le droit directement ou via un autre rôle l'ont toujours.
-   Similarly, revoking
-   <literal>SELECT</literal> from a user might not prevent that user from using
-   <literal>SELECT</literal> if <literal>PUBLIC</literal> or another membership
-   role still has <literal>SELECT</literal> rights.
+   De même, révoquer <literal>SELECT</literal> d'un utilisateur ne l'empêchera
+   peut-être pas d'utiliser <literal>SELECT</literal> si <literal>PUBLIC</literal>
+   ou un autre de ses rôle a toujours les droits <literal>SELECT</literal>.
   </para>
 
   <para>
@@ -143,8 +142,9 @@
   </para>
 
   <para>
-   When revoking privileges on a table, the corresponding column privileges
-   (if any) are automatically revoked on each column of the table, as well.
+   En cas de révocation des droits sur une table, les droits sur les colonnes
+   correspondantes (s'il y en a) sont automatiquement révoqués pour toutes les
+   colonnes de la table en même temps.
   </para>
 
   <para>
@@ -159,10 +159,10 @@
 
   <para>
    Utilisez la commande <command>\dp</command> de <xref linkend="app-psql"/>
-   pour afficher les droits donnés sur des tables and columns.  See <xref
-   linkend="sql-grant" endterm="sql-grant-title"/> for information about the
-   format.  For non-table objects there are other <command>\d</command> commands
-   that can display their privileges.
+   pour afficher les droits donnés sur des tables et colonnes.  Voir <xref
+   linkend="sql-grant" endterm="sql-grant-title"/> pour plus d'informations sur
+   le format. Pour les objets qui ne sont pas des tables, il existe d'autres
+   commandes <command>\d</command> qui peuvent afficher leurs droits.
   </para>
 
   <para>

Modified: traduc/trunk/postgresql/ref/select.xml
===================================================================
--- traduc/trunk/postgresql/ref/select.xml	2009-04-26 11:58:08 UTC (rev 1308)
+++ traduc/trunk/postgresql/ref/select.xml	2009-04-26 21:32:49 UTC (rev 1309)
@@ -52,16 +52,16 @@
 
     [ ONLY ] <replaceable class="parameter">nom_table</replaceable> [ * ] [ [ AS ] <replaceable class="parameter">alias</replaceable> [ ( <replaceable class="parameter">alias_colonne</replaceable> [, ...] ) ] ]
     ( <replaceable class="parameter">select</replaceable> ) [ AS ] <replaceable class="parameter">alias</replaceable> [ ( <replaceable class="parameter">alias_colonne</replaceable> [, ...] ) ]
-    <replaceable class="parameter">with_query_name</replaceable> [ [ AS ] <replaceable class="parameter">alias</replaceable> [ ( <replaceable class="parameter">column_alias</replaceable> [, ...] ) ] ]
+    <replaceable class="parameter">nom_requête_with</replaceable> [ [ AS ] <replaceable class="parameter">alias</replaceable> [ ( <replaceable class="parameter">alias_colonne</replaceable> [, ...] ) ] ]
     <replaceable class="parameter">nom_fonction</replaceable> ( [ <replaceable class="parameter">argument</replaceable> [, ...] ] ) [ AS ] <replaceable class="parameter">alias</replaceable> [ ( <replaceable class="parameter">alias_colonne</replaceable> [, ...] | <replaceable class="parameter">définition_colonne</replaceable> [, ...] ) ]
     <replaceable class="parameter">nom_fonction</replaceable> ( [ <replaceable class="parameter">argument</replaceable> [, ...] ] ) AS ( <replaceable class="parameter">définition_colonne</replaceable> [, ...] )
     <replaceable class="parameter">éléments_from</replaceable> [ NATURAL ] <replaceable class="parameter">type_jointure</replaceable> <replaceable class="parameter">éléments_from</replaceable> [ ON <replaceable class="parameter">condition_jointure</replaceable> | USING ( <replaceable class="parameter">colonne_jointure</replaceable> [, ...] ) ]
 
-and <replaceable class="parameter">with_query</replaceable> is:
+et <replaceable class="parameter">requête_with</replaceable> est&nbsp;:
 
-    <replaceable class="parameter">with_query_name</replaceable> [ ( <replaceable class="parameter">column_name</replaceable> [, ...] ) ] AS ( <replaceable class="parameter">select</replaceable> )
+    <replaceable class="parameter">nom_requête_with</replaceable> [ ( <replaceable class="parameter">nom_colonne</replaceable> [, ...] ) ] AS ( <replaceable class="parameter">select</replaceable> )
 
-TABLE { [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ] | <replaceable class="parameter">with_query_name</replaceable> }
+TABLE { [ ONLY ] <replaceable class="parameter">nom_table</replaceable> [ * ] | <replaceable class="parameter">nom_requête_with</replaceable> }
 </synopsis>
 
  </refsynopsisdiv>
@@ -80,12 +80,12 @@
    <orderedlist>
     <listitem>
      <para>
-      All queries in the <literal>WITH</literal> list are computed.
-      These effectively serve as temporary tables that can be referenced
-      in the <literal>FROM</literal> list.  A <literal>WITH</literal> query
-      that is referenced more than once in <literal>FROM</literal> is
-      computed only once.
-      (See <xref linkend="sql-with" endterm="sql-with-title"/> below.)
+      Toutes les requêtes dans la liste <literal>WITH</literal> sont évaluées.
+      Elles jouent le rôle de tables temporaires qui peuvent être référencées
+      dans la liste <literal>FROM</literal>. Une requête
+      <literal>WITH</literal> qui est référencée plus d'une fois dans
+      <literal>FROM</literal> n'est calculée qu'une fois
+      (voir <xref linkend="sql-with" endterm="sql-with-title"/> vi-dessous).
      </para>
     </listitem>
 
@@ -202,52 +202,53 @@
   <title>Paramètres</title>
 
   <refsect2 id="SQL-WITH">
-   <title id="sql-with-title"><literal>WITH</literal> Clause</title>
+   <title id="sql-with-title">Clause <literal>WITH</literal></title>
 
    <para>
-    The <literal>WITH</literal> clause allows you to specify one or more
-    subqueries that can be referenced by name in the primary query.
-    The subqueries effectively act as temporary tables or views
-    for the duration of the primary query.
+    La clause <literal>WITH</literal> vous permet de spécifier une ou plusieurs
+    sous-requêtes qui peuvent être utilisées par leur nom dans la requête
+    principale.
+    Les sous-requêtes se comportent comme des tables temporaires ou des vues
+    pendant la durée d'exécution de la requête principale.
    </para>
 
    <para>
-    A name (without schema qualification) must be specified for each
-    <literal>WITH</literal> query.  Optionally, a list of column names
-    can be specified; if this is omitted,
-    the column names are inferred from the subquery.
+    Un nom (sans qualification de schéma) doit être spécifié pour chaque requête
+    <literal>WITH</literal>. Optionnellement, une liste de noms de colonnes
+    peut être spécifié&nbsp;; si elle est omise, les noms de colonnes sont déduites
+    de la sous-requête.
    </para>
 
    <para>
-    If <literal>RECURSIVE</literal> is specified, it allows a
-    subquery to reference itself by name.  Such a subquery must have
-    the form
+    Si <literal>RECURSIVE</literal> est spécifié, la sous-requête peut se
+    référencer elle même. Une sous-requête de ce type doit avoir la forme
 <synopsis>
-<replaceable class="parameter">non_recursive_term</replaceable> UNION [ ALL ] <replaceable class="parameter">recursive_term</replaceable>
+<replaceable class="parameter">terme_non_récursif</replaceable> UNION [ ALL ] <replaceable class="parameter">terme_récursif</replaceable>
 </synopsis>
-    where the recursive self-reference must appear on the right-hand
-    side of the <literal>UNION</literal>.  Only one recursive self-reference
-    is permitted per query.
+    où l'auto-référence récursive doit apparaître dans la partie droite
+    de l'<literal>UNION</literal>. Seule une auto-référence récursive
+    est autorisée par requête.
    </para>
 
    <para>
-    Another effect of <literal>RECURSIVE</literal> is that
-    <literal>WITH</literal> queries need not be ordered: a query
-    can reference another one that is later in the list.  (However,
-    circular references, or mutual recursion, are not implemented.)
-    Without <literal>RECURSIVE</literal>, <literal>WITH</literal> queries
-    can only reference sibling <literal>WITH</literal> queries
-    that are earlier in the <literal>WITH</literal> list.
+    Un autre effet de <literal>RECURSIVE</literal> est que les requêtes
+    <literal>WITH</literal> n'ont pas besoin d'être ordonnées&nbsp;: une
+    requête peut en référencer une autre qui se trouve plus loin dans la liste
+    (toutefois, les références circulaires, ou récursion mutuelle, ne sont pas
+    implémentées). Sans <literal>RECURSIVE</literal>, les requêtes
+    <literal>WITH</literal> ne peuvent référencer d'autres requêtes
+    <literal>WITH</literal> so&oelig;urs que si elles sont déclarées avant dans
+    la liste <literal>WITH</literal>.
    </para>
 
    <para>
-    A useful property of <literal>WITH</literal> queries is that they
-    are evaluated only once per execution of the primary query,
-    even if the primary query refers to them more than once.
+    Une propriété utile des requêtes <literal>WITH</literal> est qu'elles ne sont
+    évaluées qu'une seule fois par exécution de la requête principale,
+    même si la requête principale les utilise plus d'une fois.
    </para>
 
    <para>
-    See <xref linkend="queries-with"/> for additional information.
+    Voir <xref linkend="queries-with"/> pour plus d'informations.
    </para>
   </refsect2>
 
@@ -321,16 +322,16 @@
      </varlistentry>
 
      <varlistentry>
-      <term><replaceable class="parameter">with_query_name</replaceable></term>
+      <term><replaceable class="parameter">nom_requête_with</replaceable></term>
       <listitem>
        <para>
-        A <literal>WITH</literal> query is referenced by writing its name,
-        just as though the query's name were a table name.  (In fact,
-        the <literal>WITH</literal> query hides any real table of the same name
-        for the purposes of the primary query.  If necessary, you can
-        refer to a real table of the same name by schema-qualifying
-        the table's name.)
-        An alias can be provided in the same way as for a table.
+        Une requête <literal>WITH</literal> est référencée par l'écriture de
+        son nom, exactement comme si le nom de la requête était un nom de table
+        (en fait, la requête <literal>WITH</literal> cache toutes les tables
+        qui auraient le même nom dans la requête principale. Si nécessaire, vous
+        pouvez accéder à une table réelle du même nom en précisant le schéma
+        du nom de la table).
+        Un alias peut être indiqué de la même façon que pour une table.
        </para>
       </listitem>
      </varlistentry>
@@ -574,55 +575,56 @@
   </refsect2>
 
   <refsect2 id="sql-window">
-   <title id="sql-window-title"><literal>WINDOW</literal> Clause</title>
+   <title id="sql-window-title">Clause <literal>WINDOW</literal></title>
 
    <para>
-    The optional <literal>WINDOW</literal> clause has the general form
+    La clause optionnelle <literal>WINDOW</literal> a la forme générale
 <synopsis>
-WINDOW <replaceable class="parameter">window_name</replaceable> AS ( <replaceable class="parameter">window_definition</replaceable> ) [, ...]
+WINDOW <replaceable class="parameter">nom_window</replaceable> AS ( <replaceable class="parameter">définition_window</replaceable> ) [, ...]
 </synopsis>
-    where <replaceable class="parameter">window_name</replaceable> is
-    a name that can be referenced from subsequent window definitions or
-    <literal>OVER</literal> clauses, and
-    <replaceable class="parameter">window_definition</replaceable> is
+    où <replaceable class="parameter">nom_window</replaceable> est un nom qui
+    peut être référencé par des définitions Window ou des clauses
+    <literal>OVER</literal>, et
+    <replaceable class="parameter">définition_window</replaceable>
+    est
 <synopsis>
-[ <replaceable class="parameter">existing_window_name</replaceable> ]
+[ <replaceable class="parameter">nom_window_existante</replaceable> ]
 [ PARTITION BY <replaceable class="parameter">expression</replaceable> [, ...] ]
-[ ORDER BY <replaceable class="parameter">expression</replaceable> [ ASC | DESC | USING <replaceable class="parameter">operator</replaceable> ] [ NULLS { FIRST | LAST } ] [, ...] ]
-[ <replaceable class="parameter">frame_clause</replaceable> ]
+[ ORDER BY <replaceable class="parameter">expression</replaceable> [ ASC | DESC | USING <replaceable class="parameter">operateur</replaceable> ] [ NULLS { FIRST | LAST } ] [, ...] ]
+[ <replaceable class="parameter">clause_frame</replaceable> ]
 </synopsis>
    </para>
 
    <para>
-    If an <replaceable class="parameter">existing_window_name</replaceable>
-    is specified it must refer to an earlier entry in the
-    <literal>WINDOW</literal>
-    list; the new window copies its partitioning clause from that entry,
-    as well as its ordering clause if any.  In this case the new window cannot
-    specify its own <literal>PARTITION BY</literal> clause, and it can specify
-    <literal>ORDER BY</literal> only if the copied window does not have one.
-    The new window always uses its own frame clause; the copied window
-    must not specify a frame clause.
+    Si un <replaceable class="parameter">nom_window_existante</replaceable> est
+    spécifié, il doit se référer à une entrée précédente dans la liste
+    <literal>WINDOW</literal>&nbsp;; la nouvelle Window copie sa clause de
+    partitionnement de cette entrée, ainsi que sa clause de tri s'il y en a.
+    Dans ce cas, la nouvelle Window ne peut pas spécifier sa propre clause
+    <literal>PARTITION BY</literal>, et ne peut spécifier de
+    <literal>ORDER BY</literal> que si la Window copiée n'en a pas.
+    La nouvelle Window utilise toujours sa propre clause frame&nbsp;; la Window
+    copiée ne doit pas posséder de clause frame.
    </para>
 
    <para>
-    The elements of the <literal>PARTITION BY</literal> list are interpreted in
-    the same fashion as elements of a
-    <xref linkend="sql-groupby" endterm="sql-groupby-title"/>, and
-    the elements of the <literal>ORDER BY</literal> list are interpreted in the
-    same fashion as elements of an
+    Les éléments de la liste <literal>PARTITION BY</literal> sont interprétés de
+    la même façon que des éléments de
+    <xref linkend="sql-groupby" endterm="sql-groupby-title"/>, et
+    les éléments de la liste <literal>ORDER BY</literal> sont interprétés de
+    la même façon que des éléments de
     <xref linkend="sql-orderby" endterm="sql-orderby-title"/>.
-    The only difference is that these expressions can contain aggregate
-    function calls, which are not allowed in a regular <literal>GROUP
-    BY</literal>
-    clause.  They are allowed here because windowing occurs after grouping
-    and aggregation.
+    La seule différence est que ces expressions peuvent contenir des appels
+    à des fonctions d'aggrégat, ce qui n'est pas autorisé dans une clause
+    <literal>GROUP BY</literal> classique. Ceci est autorisé ici parce que
+    le windowing se produit après le regroupement et l'aggrégation.
    </para>
 
    <para>
-    The optional <replaceable class="parameter">frame_clause</replaceable> defines
-    the <firstterm>window frame</firstterm> for window functions that depend on the
-    frame (not all do).  It can be one of
+    La clause <replaceable class="parameter">clause_frame</replaceable>
+    optionnelle définit la <firstterm>frame window</firstterm> pour les
+    fonctions window qui dépendent de la frame (ce n'est pas le cas de toutes).
+    Elle peut prendre une de ces valeurs&nbsp;:
 <synopsis>
 RANGE UNBOUNDED PRECEDING
 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
@@ -631,41 +633,44 @@
 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
 </synopsis>
-    The first two are equivalent and are also the default: they set the
-    frame to be all rows from the partition start up through the current row's
-    last peer in the <literal>ORDER BY</literal> ordering (which means all rows if
-    there is no <literal>ORDER BY</literal>).  The options
+    Les deux premiers sont équivalents et sont la valeur par défaut&nbsp;: ils
+    déclarent que la frame est constituée de tous les enregistrements du début
+    de la partition jusqu'au dernier pair de l'enregistrement courant dans le
+    tri défini par <literal>ORDER BY</literal> (ce qui signifie tous les
+    enregistrements si il n'y a pas d'<literal>ORDER BY</literal>). Les options
     <literal>RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED
-    FOLLOWING</literal> and
-    <literal>ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING</literal>
-    are also equivalent: they always select all rows in the partition.
-    Lastly, <literal>ROWS UNBOUNDED PRECEDING</literal> or its verbose equivalent
-    <literal>ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW</literal> select
-    all rows up through the current row (regardless of duplicates).
-    Beware that this option can produce implementation-dependent results
-    if the <literal>ORDER BY</literal> ordering does not order the rows uniquely.
+    FOLLOWING</literal> et <literal>ROWS BETWEEN UNBOUNDED PRECEDING AND
+    UNBOUNDED FOLLOWING</literal> sont aussi équivalentes&nbsp;: ils
+    sélectionnent toujours tous les enregistrements de la partition. Finalement,
+    <literal>ROWS UNBOUNDED PRECEDING</literal> ou son équivalent verbeux
+    <literal>ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW</literal>
+    sélectionne tous les enregistrements de la partition jusqu'à l'enregistrement
+    courant (sans se soucier des doublons). Soyez conscient que cette option
+    peut produire des résultats dépendant de l'implémentation si le tri
+    <literal>ORDER BY</literal> ne trie pas les enregistrements de façon unique.
    </para>
 
    <para>
-    The purpose of a <literal>WINDOW</literal> clause is to specify the
-    behavior of <firstterm>window functions</firstterm> appearing in the query's
-    <xref linkend="sql-select-list" endterm="sql-select-list-title"/> or
-    <xref linkend="sql-orderby" endterm="sql-orderby-title"/>.  These functions
-    can reference the <literal>WINDOW</literal> clause entries by name
-    in their <literal>OVER</literal> clauses.  A <literal>WINDOW</literal> clause
-    entry does not have to be referenced anywhere, however; if it is not
-    used in the query it is simply ignored.  It is possible to use window
-    functions without any <literal>WINDOW</literal> clause at all, since
-    a window function call can specify its window definition directly in
-    its <literal>OVER</literal> clause.  However, the <literal>WINDOW</literal>
-    clause saves typing when the same window definition is needed for more
-    than one window function.
+    L'utilité d'une clause <literal>WINDOW</literal> est de spécifier le
+    comportement des <firstterm>fonctions window</firstterm> apparaissant dans
+    la clause <xref linkend="sql-select-list" endterm="sql-select-list-title"/>
+    ou la clause <xref linkend="sql-orderby" endterm="sql-orderby-title"/> de
+    la requête. Ces fonctions peuvent référencer les entrées de clauses
+    <literal>WINDOW</literal> par nom dans leurs clauses <literal>OVER</literal>.
+    Toutefois, il n'est pas obligatoire qu'une entrée de clause
+    <literal>WINDOW</literal> soit référencée quelque part&nbsp;; si elle n'est
+    pas utilisée dans la requête, elle est simplement ignorée. Il est possible
+    d'utiliser des fonctions window sans aucune clause <literal>WINDOW</literal>
+    puisqu'une fonction window peut spécifier sa propre définition de window
+    directement dans sa clause <literal>OVER</literal>. Toutefois, la clause
+    <literal>WINDOW</literal> économise de la saisie quand la même définition
+    window est utilisée pour plus d'une fonction window.
    </para>
 
    <para>
-    Window functions are described in detail in
+    Les fonctions window sont décrites en détail dans
     <xref linkend="tutorial-window"/>,
-    <xref linkend="syntax-window-functions"/>, and
+    <xref linkend="syntax-window-functions"/> et
     <xref linkend="queries-window"/>.
    </para>
   </refsect2>
@@ -675,39 +680,42 @@
 
    <para>
     La liste <command>SELECT</command> (entre les mots clés
-    <literal>SELECT</literal> et <literal>FROM</literal>) spécifie les expressions qui
-    forment les lignes en sortie de l'instruction <command>SELECT</command>.
-    Il se peut que les expressions fassent (en général elles le font) référence aux colonnes
-    traitées dans la clause <literal>FROM</literal>. 
+    <literal>SELECT</literal> et <literal>FROM</literal>) spécifie les
+    expressions qui forment les lignes en sortie de l'instruction
+    <command>SELECT</command>. Il se peut que les expressions fassent référence
+    aux colonnes traitées dans la clause <literal>FROM</literal>. En fait, en
+    général, elles le font.
    </para>
 
    <para>
-    Just as in a table, every output column of a <command>SELECT</command>
-    has a name.  In a simple <command>SELECT</command> this name is just
-    used to label the column for display, but when the
-    <command>SELECT</command>
-    is a sub-query of a larger query, the name is seen by the larger query
-    as the column name of the virtual table produced by the sub-query.
-    To specify the name to use for an output column, write
-    <literal>AS</literal> <replaceable class="parameter">output_name</replaceable>
-    after the column's expression.  (You can omit <literal>AS</literal>,
-    but only if the desired output name does not match any
-    <productname>PostgreSQL</productname> keyword (see <xref
-    linkend="sql-keywords-appendix"/>).  For protection against possible
-    future keyword additions, it is recommended that you always either
-    write <literal>AS</literal> or double-quote the output name.)
-    If you do not specify a column name, a name is chosen automatically
-    by <productname>PostgreSQL</productname>.  If the column's expression
-    is a simple column reference then the chosen name is the same as that
-    column's name; in more complex cases a generated name looking like
-    <literal>?column<replaceable>N</replaceable>?</literal> is usually chosen.
+    Comme pour une table, chaque colonne de sortie d'un <command>SELECT</command>
+    a un nom. Dans un <command>SELECT</command> simple, ce nom est juste
+    utilisé pour donner un titre à la colonne pour l'affichage, mais quand le
+    <command>SELECT</command> est une sous-requête d'une requête plus grande,
+    le nom est vu par la grande requête comme le nom de colonne de la table
+    virtuelle produite par la sous-requête.
+    Pour indiquer le nom à utiliser pour une colonne de sortie, écrivez
+    <literal>AS</literal> <replaceable class="parameter">nom_de_sortie</replaceable>
+    après l'expression de la colonne. (Vous pouvez omettre <literal>AS</literal>
+    seulement si le nom de colonne souhaité n'est pas un mot clé réservé par
+    <productname>PostgreSQL</productname> (voir <xref
+    linkend="sql-keywords-appendix"/>). Pour vous protéger contre l'ajout futur
+    d'un mot clé, il est recommandé que vous écriviez toujours
+    <literal>AS</literal> ou que vous mettiez le nom de sortie entre guillemets.
+    Si vous n'indiquez pas de nom de colonne, un nom est choisi automatiquement
+    par <productname>PostgreSQL</productname>. Si l'expression de la colonne
+    est une simple référence à une colonne alors le nom choisi est le même que
+    le nom de la colonne&nbsp;; dans des cas plus complexes, un nom généré qui
+    ressemblera à <literal>?colonne<replaceable>N</replaceable>?</literal> est 
+    habituellement choisi.
    </para>
 
    <para>
-    An output column's name can be used to refer to the column's value in
-    <literal>ORDER BY</literal> and <literal>GROUP BY</literal> clauses, but not in the
-    <literal>WHERE</literal> or <literal>HAVING</literal> clauses; there you must write
-    out the expression instead.
+    Un nom de colonne de sortie peut être utilisé pour se référer à la valeur de
+    la colonne dans les clauses <literal>ORDER BY</literal> et
+    <literal>GROUP BY</literal>, mais pas dans la clause<literal>WHERE</literal>
+    ou <literal>HAVING</literal>&nbsp;; à cet endroit, vous devez écrire
+    l'expression.
    </para>
 
    <para>
@@ -715,9 +723,10 @@
     liste de sortie comme raccourci pour toutes les colonnes des lignes
     sélectionnées. De plus, 
     <literal><replaceable class="parameter">nom_table</replaceable>.*</literal>
-    peut être écrit comme raccourci pour toutes les colonnes de cette table. In these
-    cases it is not possible to specify new names with <literal>AS</literal>;
-    the output column names will be the same as the table columns' names.
+    peut être écrit comme raccourci pour toutes les colonnes de cette table. Dans
+    ces cas, il est impossible de spécifier de nouveaux noms avec
+    <literal>AS</literal>&nbsp;;
+    les noms des colonnes de sorties seront les même que ceux de la table.
    </para>
   </refsect2>
 
@@ -1007,31 +1016,31 @@
    </para>
 
    <para>
-    If the <replaceable class="parameter">count</replaceable> expression
-    evaluates to NULL, it is treated as <literal>LIMIT ALL</literal>, i.e., no
-    limit.  If <replaceable class="parameter">start</replaceable> evaluates
-    to NULL, it is treated the same as <literal>OFFSET 0</literal>.
+    Si l'expression de <replaceable class="parameter">compte</replaceable>
+    est évaluée à NULL, il est traité comme <literal>LIMIT ALL</literal>,
+    c'est-à-dire sans limite. Si <replaceable class="parameter">début</replaceable>
+    est évalué à NULL, il est traité comme <literal>OFFSET 0</literal>.
    </para>
 
    <para>
-    SQL:2008 introduced a different syntax to achieve the same thing,
-    which PostgreSQL also supports.  It is:
+    SQL:2008 a introduit une sytaxe différente pour faire la même chose.
+    PostgreSQL supporte aussi cette syntaxe.
 <synopsis>
-OFFSET <replaceable class="parameter">start</replaceable> { ROW | ROWS }
-FETCH { FIRST | NEXT } [ <replaceable class="parameter">count</replaceable> ] { ROW | ROWS } ONLY
+OFFSET <replaceable class="parameter">début</replaceable> { ROW | ROWS }
+FETCH { FIRST | NEXT } [ <replaceable class="parameter">compte</replaceable> ] { ROW | ROWS } ONLY
 </synopsis>
-    Both clauses are optional, but if present
-    the <literal>OFFSET</literal> clause must come before
-    the <literal>FETCH</literal> clause.  <literal>ROW</literal>
-    and <literal>ROWS</literal> as well as <literal>FIRST</literal>
-    and <literal>NEXT</literal> are noise words that don't influence
-    the effects of these clauses.  In this syntax, when using expressions
-    other than simple constants for <replaceable
-    class="parameter">start</replaceable>
-    or <replaceable class="parameter">count</replaceable>, parentheses will be
-    necessary in most cases.  If <replaceable
-    class="parameter">count</replaceable> is
-    omitted in <literal>FETCH</literal>, it defaults to 1.
+    Les deux clauses sont optionnelles. Si elles sont présentes,
+    la clause <literal>OFFSET</literal> doit précéder la clause
+    <literal>FETCH</literal>.
+    <literal>ROW</literal> et <literal>ROWS</literal> ainsi que
+    <literal>FIRST</literal> et <literal>NEXT</literal> sont du bruit et
+    n'ont pas d'influence sur les effets de ces clauses. Dans cette syntaxe, quand
+    on utilise des expressions autres que des simples constantes pour
+    <replaceable class="parameter">début</replaceable>
+    ou <replaceable class="parameter">compte</replaceable>, des parenthèses seront
+    nécessaires dans la plupart des cas. Si <replaceable
+    class="parameter">compte</replaceable> est omis dans <literal>FETCH</literal>,
+    il prend 1 comme valeur par défaut.
    </para>
 
    <para>
@@ -1209,19 +1218,20 @@
   </refsect2>
 
   <refsect2 id="SQL-TABLE">
-   <title><literal>TABLE</literal> Command</title>
+   <title>Commande <literal>TABLE</literal></title>
 
    <para>
-    The command
+    La commande
 <programlisting>
-TABLE <replaceable class="parameter">name</replaceable>
+TABLE <replaceable class="parameter">nom</replaceable>
 </programlisting>
-    is completely equivalent to
+    est complètement équivalente à
 <programlisting>
-SELECT * FROM <replaceable class="parameter">name</replaceable>
+SELECT * FROM <replaceable class="parameter">nom</replaceable>
 </programlisting>
-    It can be used as a top-level command or as a space-saving syntax
-    variant in parts of complex queries.
+    Elle peut être utilisée comme commande principale d'une requête,
+    ou bien comme une variante syntaxique permettant de gagner de la place
+    dans des parties de requêtes complexes.
    </para>
   </refsect2>
  </refsect1>
@@ -1362,7 +1372,7 @@
   </para>
 
   <para>
-   This example shows how to use a simple <literal>WITH</literal> clause:
+   Cet exemple montre comment utiliser une clause <literal>WITH</literal> simple:
 
 <programlisting>
 WITH t AS (
@@ -1382,35 +1392,35 @@
  0.0735620250925422
 </programlisting>
 
-   Notice that the <literal>WITH</literal> query was evaluated only once,
-   so that we got two sets of the same three random values.
+   Notez que la requête <literal>WITH</literal> n'a été évaluée qu'une seule
+   fois, ce qui fait qu'on a deux jeux contenant les mêmes trois valeurs.
   </para>
 
   <para>
-   This example uses <literal>WITH RECURSIVE</literal> to find all
-   subordinates (direct or indirect) of the employee Mary, and their
-   level of indirectness, from a table that shows only direct
-   subordinates:
+   Cet exemple utilise <literal>WITH RECURSIVE</literal> pour trouver tous
+   les subordonnés (directs ou indirects) de l'employée Marie, et leur niveau
+   de subordination, à partir d'une table qui ne donne que les subordonnés
+   directs&nbsp;:
 
 <programlisting>
-WITH RECURSIVE employee_recursive(distance, employee_name, manager_name) AS (
-    SELECT 1, employee_name, manager_name
-    FROM employee
-    WHERE manager_name = 'Mary'
+WITH RECURSIVE recursion_employes(distance, nom_employe, nom_manager) AS (
+    SELECT 1, nom_employe, nom_manager
+    FROM employe
+    WHERE nom_manager = 'Marie'
   UNION ALL
-    SELECT er.distance + 1, e.employee_name, e.manager_name
-    FROM employee_recursive er, employee e
-    WHERE er.employee_name = e.manager_name
+    SELECT er.distance + 1, e.nom_employe, e.nom_manager
+    FROM recursion_employes er, employe e
+    WHERE er.nom_employe = e.nom_manager
   )
-SELECT distance, employee_name FROM employee_recursive;
+SELECT distance, nom_employe FROM recursion_employes;
 </programlisting>
 
-   Notice the typical form of recursive queries:
-   an initial condition, followed by <literal>UNION</literal>,
-   followed by the recursive part of the query. Be sure that the
-   recursive part of the query will eventually return no tuples, or
-   else the query will loop indefinitely.  (See <xref linkend="queries-with"/>
-   for more examples.)
+   Notez la forme typique des requêtes récursives&nbsp;:
+   une condition initiale, suivie par <literal>UNION</literal>, suivis par
+   la partie récursive de la requête. Assurez-vous que la partie récursive
+   de la requête finira par ne plus retourner d'enregistrement, sinon la
+   requête bouclera indéfiniment (Voir <xref linkend="queries-with"/> pour
+   plus d'exemples).
   </para>
  </refsect1>
  
@@ -1460,38 +1470,37 @@
   </refsect2>
 
   <refsect2>
-   <title>Omitting the <literal>AS</literal> Key Word</title>
+   <title>Omettre le mot clé <literal>AS</literal></title>
 
    <para>
-    In the SQL standard, the optional key word <literal>AS</literal> can be
-    omitted before an output column name whenever the new column name
-    is a valid column name (that is, not the same as any reserved
-    keyword).  <productname>PostgreSQL</productname> is slightly more
-    restrictive: <literal>AS</literal> is required if the new column name
-    matches any keyword at all, reserved or not.  Recommended practice is
-    to use <literal>AS</literal> or double-quote output column names, to prevent
-    any possible conflict against future keyword additions.
+    Dans le standard SQL, le mot clé <literal>AS</literal> peut être omis
+    devant une colonne de sortie à partir du moment où le nouveau nom de colonne
+    est un nom valide de colonne (c'est-à-dire, différent d'un mot clé réservé).
+    <productname>PostgreSQL</productname> est légèrement plus restrictif&nbsp;:
+    <literal>AS</literal> est nécessaire si le nouveau nom de colonne est un
+    mot clé quel qu'il soit, réservé ou non. Il est recommandé d'utiliser
+    <literal>AS</literal> ou des colonnes de sortie entourées de guillemets, pour
+    éviter tout risque de conflit en cas d'ajout futur de mot clé.
    </para>
 
    <para>
-    In <literal>FROM</literal> items, both the standard and
-    <productname>PostgreSQL</productname> allow <literal>AS</literal> to
-    be omitted before an alias that is an unreserved keyword.  But
-    this is impractical for output column names, because of syntactic
-    ambiguities.
+    Dans les éléments de <literal>FROM</literal>, le standard et
+    <productname>PostgreSQL</productname> permettent que <literal>AS</literal>
+    soit omis avant un alias qui n'est pas un mot clé réservé. Mais
+    c'est peu pratique pour les noms de colonnes, à causes d'ambiguïtés
+    syntaxiques.
    </para>
   </refsect2>
 
   <refsect2>
-   <title><literal>ONLY</literal> and Parentheses</title>
+   <title><literal>ONLY</literal> et les parenthèses</title>
 
    <para>
-    The SQL standard requires parentheses around the table name
-    after <literal>ONLY</literal>, as in <literal>SELECT * FROM ONLY
-    (tab1), ONLY (tab2) WHERE ...</literal>.  PostgreSQL supports that
-    as well, but the parentheses are optional.  (This point applies
-    equally to all SQL commands supporting the <literal>ONLY</literal>
-    option.)
+    Le standard SQL impose des parenthèses autour du nom de table après
+    <literal>ONLY</literal>, comme dans <literal>SELECT * FROM ONLY
+    (tab1), ONLY (tab2) WHERE ...</literal>. PostgreSQL supporte ceci aussi, mais
+    les parenthèses sont optionnelles (ce point s'applique également à toutes
+    les commandes SQL supportant l'option <literal>ONLY</literal>).
    </para>
   </refsect2>
 
@@ -1522,31 +1531,31 @@
   </refsect2>
 
   <refsect2>
-   <title><literal>WINDOW</literal> Clause Restrictions</title>
+   <title>Restrictions sur la clause <literal>WINDOW</literal></title>
 
    <para>
-    The SQL standard provides additional options for the window
-    <replaceable class="parameter">frame_clause</replaceable>.
-    <productname>PostgreSQL</productname> currently supports only the
-    options listed above.
+    Le standard SQL fournit des options additionnelles pour la
+    <replaceable class="parameter">clause_frame</replaceable> des window.
+    <productname>PostgreSQL</productname> ne supporte à ce jour que les options
+    mentionnées précédemment.
    </para>
   </refsect2>
 
   <refsect2>
-   <title><literal>LIMIT</literal> and <literal>OFFSET</literal></title>
+   <title><literal>LIMIT</literal> et <literal>OFFSET</literal></title>
 
    <para>
-    The clauses <literal>LIMIT</literal> and <literal>OFFSET</literal>
-    are <productname>PostgreSQL</productname>-specific syntax, also
-    used by <productname>MySQL</productname>.  The SQL:2008 standard
-    has introduced the clauses <literal>OFFSET ... FETCH {FIRST|NEXT}
-    ...</literal> for the same functionality, as shown above
-    in <xref linkend="sql-limit" endterm="sql-limit-title"/>, and this
-    syntax is also used by <productname>IBM DB2</productname>.
-    (Applications written for <productname>Oracle</productname>
-    frequently use a workaround involving the automatically
-    generated <literal>rownum</literal> column, not available in
-    PostgreSQL, to implement the effects of these clauses.)
+    Les clauses <literal>LIMIT</literal> et <literal>OFFSET</literal>
+    sont une syntaxe spécifique à <productname>PostgreSQL</productname>, aussi
+    utilisée dans <productname>MySQL</productname>. La norme SQL:2008 a
+    introduit les clauses <literal>OFFSET ... FETCH {FIRST|NEXT}...</literal>
+    pour la même fonctionnalité, comme montré plus haut dans
+    <xref linkend="sql-limit" endterm="sql-limit-title"/>, et cette syntaxe
+    est aussi utilisée par <productname>IBM DB2</productname>.
+    (Les applications écrites pour <productname>Oracle</productname> contournent
+    fréquemment le problème par l'utilisation de la colonne autogénérée
+    <literal>rownum</literal> pour obtenir les effets de ces clauses. Ce n'est
+    pas disponible sous PostgreSQL,)
    </para>
   </refsect2>
 



Plus d'informations sur la liste de diffusion Trad