Skip to content

Commit

Permalink
Mise à jour en version 9.1.6
Browse files Browse the repository at this point in the history
  • Loading branch information
gleu committed Sep 29, 2012
1 parent 05edbc0 commit 25286fe
Show file tree
Hide file tree
Showing 16 changed files with 747 additions and 72 deletions.
25 changes: 19 additions & 6 deletions postgresql/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5923,12 +5923,25 @@ SET XML OPTION { DOCUMENT | CONTENT };
</indexterm>
<indexterm><primary>inheritance</primary></indexterm>
<para>
Contrôle la sémantique de l'héritage. Désactivé
(<literal>off</literal>), les sous-tables ne sont pas incluses par
défaut dans les différentes commandes&nbsp;; généralement le mot
clé <literal>ONLY</literal> est nécessaire. Ceci a été ajouté pour
la compatibilité avec les versions antérieures à la 7.1. Voir
<xref linkend="ddl-inherit"/> pour plus d'informations.
Ce paramètre contrôle si les références de table doivent inclure les
tables filles. La valeur par défaut est <literal>on</literal>, signifiant
que les tables filles sont incluses (et de ce fait, un suffixe <literal>*</literal>
est supposé par défaut. Si ce paramètre est désactivé (à <literal>off</literal>),
les tables filles ne sont pas inclus (et de ce fait, le préfixe
<literal>ONLY</literal> est ajouté). Le standard SQL requiert que les
tables filles soient inclues, donc le paramètrages <literal>off</literal>
n'est pas conforme au standard. Cependant, il est fourni par compatibilité
avec les versions <productname>PostgreSQL</productname> antérieures à
la 7.1. Voir <xref linkend="ddl-inherit"> pour plus d'informations.
</para>

<para>
Désactiver <varname>sql_inheritance</varname> n'est pas conseillé car le
comportement induis par cette configuration porte à faire beaucoup
d'erreurs. Ceci n'est pas constaté lorsque ce paramètre est activé comme
le demande le standard SQL. Les discussions sur l'héritage dans ce manuel
supposent généralement que ce paramètre est configuré à
<literal>on</literal>.
</para>
</listitem>
</varlistentry>
Expand Down
29 changes: 17 additions & 12 deletions postgresql/ddl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1998,6 +1998,22 @@ CREATE TABLE capitales (
<literal>ONLY</literal>.
</para>

<para>
Vous pouvez aussi écrire le nom de la table avec une <literal>*</literal>
à la fin pour indiquer spécifiquement que les tables filles sont
inclues&nbsp;:

<programlisting>SELECT name, altitude
FROM cities*
WHERE altitude &gt; 500;</programlisting>

Indiquer <literal>*</literal> n'est pas nécessaire car ce comportement est
le comportement par défaut (sauf si vous avez modifié la configuration du
paramètre <xref linkend="guc-sql-inheritance"/>). Néanmoins, écrire
<literal>*</literal> pourrait être utile pour insister sur le fait que des
tables supplémentaires seront parcourues.
</para>

<para>
Dans certains cas, il peut être intéressant de savoir de quelle table provient une ligne
donnée. Une colonne système appelée <structfield>TABLEOID</structfield>
Expand Down Expand Up @@ -2142,7 +2158,7 @@ VALUES ('New York', NULL, NULL, 'NY');</programlisting>
des données ou pour modifier le schéma (autrement dit
<literal>SELECT</literal>, <literal>UPDATE</literal>, <literal>DELETE</literal>,
la plupart des variantes de <literal>ALTER TABLE</literal>, mais pas
<literal>INSERT</literal> et <literal>ALTER TABLE ... RENAME</literal>)
<literal>INSERT</literal> ou <literal>ALTER TABLE ... RENAME</literal>)
incluent par défaut les tables filles et supportent la notation
<literal>ONLY</literal> pour les exclure. Les commandes qui font de la
maintenance de bases de données et de la configuration (par exemple
Expand Down Expand Up @@ -2205,17 +2221,6 @@ VALUES ('New York', NULL, NULL, 'NY');</programlisting>
de l'héritage pour une application donnée.
</para>

<note>
<title>Obsolète</title>
<para>
Dans les versions de <productname>PostgreSQL</productname> antérieures à
7.1, le comportement par défaut consistait à ne pas inclure les tables enfants dans les
requêtes. Il s'est avéré que cela était source d'erreur et violait le
standard SQL. Ce comportement peut être retrouvé en désactivant le
paramètre <xref linkend="guc-sql-inheritance"/>.
</para>
</note>

</sect2>
</sect1>

Expand Down
2 changes: 1 addition & 1 deletion postgresql/maintenance.xml
Original file line number Diff line number Diff line change
Expand Up @@ -470,7 +470,7 @@
COMMIT utilise deux bits par transaction, donc si
<varname>autovacuum_freeze_max_age</varname> et
<varname>vacuum_freeze_table_age</varname> ont une valeur maximum permise
d'un peu moins que deux billion, <filename>pg_clog</filename> peut grossir
de deux milliards, <filename>pg_clog</filename> peut grossir
jusqu'à la moitié d'un Go. Si c'est rien comparé à votre taille de base
totale, configurer <varname>autovacuum_freeze_max_age</varname> à son
maximum permis est recommandé. Sinon, le configurer suivant ce que vous
Expand Down
11 changes: 11 additions & 0 deletions postgresql/queries.xml
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,17 @@ et utiliser la commande <command>SELECT</command> comme une calculatrice&nbsp;:
nommée... toute colonne ajoutée dans une sous-table est ignorée.
</para>

<para>
Au lieu d'écrire <literal>ONLY</literal> avant le nom de la table, vous pouvez
écrire <literal>*</literal> après le nom de la table pour indiquer
spécifiquement que les tables filles sont inclues. Écrire <literal>*</literal>
n'est pas nécessaire car il s'agit du comportement par défaut (sauf si vous
avez choisi de modifier la configuration de <xref
linkend="guc-sql-inheritance"/>). Néanmoins, écrire <literal>*</literal>
peut être utile pour indiquer fortement que les tables filles seront
parcourues.
</para>

<sect3 id="queries-join">
<title>Tables jointes</title>

Expand Down
8 changes: 5 additions & 3 deletions postgresql/ref/alter_table.xml
Original file line number Diff line number Diff line change
Expand Up @@ -612,9 +612,11 @@ ALTER TABLE <replaceable class="parameter">nom</replaceable>
<listitem>
<para>
Le nom (éventuellement qualifié du nom du schéma) de la table à modifier.
Si <literal>ONLY</literal> est indiqué, seule cette table
est modifiée. Dans le cas contraire, la table
et toutes ses tables filles (s'il y en a) sont modifiées.
Si <literal>ONLY</literal> est indiqué avant le nom de la table, seule
cette table est modifiée. Dans le cas contraire, la table et toutes ses
tables filles (s'il y en a) sont modifiées. En option,
<literal>*</literal> peut être ajouté après le nom de la table pour
indiquer explicitement que les tables filles doivent être inclues.
</para>
</listitem>
</varlistentry>
Expand Down
28 changes: 9 additions & 19 deletions postgresql/ref/delete.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

<refsynopsisdiv>
<synopsis>[ WITH [ RECURSIVE ] <replaceable class="parameter">requête_with</replaceable> [, ...] ]
DELETE FROM [ ONLY ] <replaceable class="parameter">table</replaceable> [ [ AS ] <replaceable class="parameter">alias</replaceable> ]
DELETE FROM [ ONLY ] <replaceable class="PARAMETER">table</replaceable> [ * ] [ [ AS ] <replaceable class="parameter">alias</replaceable> ]
[ USING <replaceable class="parameter">liste_using</replaceable> ]
[ WHERE <replaceable class="parameter">condition</replaceable> | WHERE CURRENT OF <replaceable class="parameter">nom_curseur</replaceable> ]
[ RETURNING * | <replaceable class="parameter">expression_sortie</replaceable> [ [ AS ] <replaceable class="parameter">output_name</replaceable> ] [, ...] ]
Expand Down Expand Up @@ -47,12 +47,6 @@ DELETE FROM [ ONLY ] <replaceable class="parameter">table</replaceable> [ [ AS ]
</para>
</tip>

<para>
Par défaut, <command>DELETE</command> supprime les lignes de la table
spécifiée et de ses tables filles. La clause <literal>ONLY</literal>
est utilisée pour ne supprimer que les lignes de la table mentionnée.
</para>

<para>
Il existe deux façons de supprimer des lignes d'une table en utilisant
les informations d'autres tables de la base de données&nbsp;:
Expand Down Expand Up @@ -95,22 +89,18 @@ DELETE FROM [ ONLY ] <replaceable class="parameter">table</replaceable> [ [ AS ]
</listitem>
</varlistentry>

<varlistentry>
<term><literal>ONLY</literal></term>
<listitem>
<para>
Si cette option est spécifiée, les lignes ne sont supprimées que dans la table
nommée. Dans le cas contraire, toutes les tables qui héritent de la table
nommée sont considérées.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><replaceable class="parameter">table</replaceable></term>
<listitem>
<para>
Le nom de la table (éventuellement qualifié du nom du schéma).
Le nom (éventuellement qualifié du nom du schéma) de la table dans
laquelle il faut supprimer des lignes. Si <literal>ONLY</literal> est
indiqué avant le nom de la table, les lignes supprimées ne concernent
que la table nommée. Si <literal>ONLY</literal> n'est pas indiquée,
les lignes supprimées font partie de la table nommée et de ses tables
filles. En option, <literal>*</literal> peut être ajouté après le nom
de la table pour indiquer explicitement que les tables filles
doivent être inclues.
</para>
</listitem>
</varlistentry>
Expand Down
10 changes: 6 additions & 4 deletions postgresql/ref/lock.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
</refnamediv>

<refsynopsisdiv>
<synopsis>LOCK [ TABLE ] [ ONLY ] <replaceable class="parameter">nom</replaceable> [, ...] [ IN <replaceable class="parameter">mode_verrou</replaceable> MODE ] [ NOWAIT ]
<synopsis>LOCK [ TABLE ] [ ONLY ] <replaceable class="PARAMETER">nom</replaceable> [ * ] [, ...] [ IN <replaceable class="PARAMETER">mode_verrou</replaceable> MODE ] [ NOWAIT ]

<phrase>où <replaceable class="parameter">mode_verrou</replaceable> peut être&nbsp;:</phrase>

Expand Down Expand Up @@ -115,9 +115,11 @@
<listitem>
<para>
Le nom d'une table à verrouiller (éventuellement qualifié du nom du
schéma). Si <literal>ONLY</literal> est précisé, seule cette table est
verrouillée. Dans le cas contraire, la table et toutes ses tables filles
(si elle en a) sont verrouillées.
schéma). Si <literal>ONLY</literal> est précisé avant le nom de la table,
seule cette table est verrouillée. Dans le cas contraire, la table et
toutes ses tables filles (si elle en a) sont verrouillées. En option,
<literal>*</literal> peut être placé après le nom de la table pour indiquer
explicitement que les tables filles sont inclues.
</para>

<para>
Expand Down
34 changes: 24 additions & 10 deletions postgresql/ref/select.xml
Original file line number Diff line number Diff line change
Expand Up @@ -301,10 +301,12 @@ TABLE [ ONLY ] <replaceable class="parameter">nom_table</replaceable> [ * ]
<term><replaceable class="parameter">nom_table</replaceable></term>
<listitem>
<para>
Le nom (éventuellement qualifié par le nom du schéma) d'une table existante
ou d'une vue. Si <literal>ONLY</literal> est spécifié, seule cette table est
parcourue. Dans le cas contraire, la table et toutes ses
descendantes (s'il y en a) sont parcourues.
Le nom (éventuellement qualifié par le nom du schéma) d'une table ou
vue existante. Si <literal>ONLY</literal> est spécifié avant le nom de
la table, seule cette table est parcourue. Dans le cas contraire, la
table et toutes ses tables filles (s'il y en a) sont parcourues. En
option, <literal>*</literal> peut être ajouté après le nom de la table
pour indiquer explicitement que les tables filles sont inclues.
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -1608,14 +1610,26 @@ SELECT distance, nom_employe FROM recursion_employes;
</refsect2>

<refsect2>
<title><literal>ONLY</literal> et les parenthèses</title>
<title><literal>ONLY</literal> et l'héritage</title>

<para>
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>).
Le standard SQL impose des parenthèses autour du nom de table après la
clause <literal>ONLY</literal>, comme dans <literal>SELECT * FROM ONLY
(tab1), ONLY (tab2) WHERE ...</literal>.
<productname>PostgreSQL</productname> considère les parenthèses comme étant
optionnelles.
</para>

<para>
<productname>PostgreSQL</productname> autorise une <literal>*</literal> en
fin pour indiquer explicitement le comportement opposé de la clause
<literal>ONLY</literal> (donc inclure les tables filles). Le standard ne le
permet pas.
</para>

<para>
(Ces points s'appliquent de la même façon à toutes les commandes SQL
supportant l'option <literal>ONLY</literal>.)
</para>
</refsect2>

Expand Down
14 changes: 8 additions & 6 deletions postgresql/ref/truncate.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
</refnamediv>

<refsynopsisdiv>
<synopsis>TRUNCATE [ TABLE ] [ ONLY ] <replaceable class="PARAMETER">nom</replaceable> [, ... ]
<synopsis>TRUNCATE [ TABLE ] [ ONLY ] <replaceable class="PARAMETER">nom</replaceable> [ * ] [, ... ]
[ RESTART IDENTITY | CONTINUE IDENTITY ] [ CASCADE | RESTRICT ]
</synopsis>
</refsynopsisdiv>
Expand All @@ -45,13 +45,15 @@

<variablelist>
<varlistentry>
<term><replaceable class="parameter">name</replaceable></term>
<term><replaceable class="parameter">nom</replaceable></term>
<listitem>
<para>
Le nom d'une table à vider (peut être qualifié par le schéma). Si la clause
<literal>ONLY</literal> est précisée, seule cette table est tronquée. Dans
le cas contraire, la table et ses tables filles (si elles existent) sont
tronquées.
Le nom d'une table à vider (pouvant être qualifié par le schéma). Si la
clause <literal>ONLY</literal> est précisée avant le nom de la table,
seule cette table est tronquée. Dans le cas contraire, la table et toutes
ses tables filles (si elle en a) sont tronquées. En option,
<literal>*</literal> peut être ajouté après le nom de la table pour
indiquer explicitement que les tables filles sont inclues.
</para>
</listitem>
</varlistentry>
Expand Down
17 changes: 8 additions & 9 deletions postgresql/ref/update.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

<refsynopsisdiv>
<synopsis>[ WITH [ RECURSIVE ] <replaceable class="parameter">requête_with</replaceable> [, ...] ]
UPDATE [ ONLY ] <replaceable class="parameter">table</replaceable> [ [ AS ] <replaceable class="parameter">alias</replaceable> ]
UPDATE [ ONLY ] <replaceable class="PARAMETER">table</replaceable> [ * ] [ [ AS ] <replaceable class="parameter">alias</replaceable> ]
SET { <replaceable class="parameter">colonne</replaceable> = { <replaceable class="parameter">expression</replaceable> | DEFAULT } |
( <replaceable class="parameter">colonne</replaceable> [, ...] ) = ( { <replaceable class="parameter">expression</replaceable> | DEFAULT } [, ...] ) } [, ...]
[ FROM <replaceable class="parameter">liste_from</replaceable> ]
Expand All @@ -45,13 +45,6 @@ UPDATE [ ONLY ] <replaceable class="parameter">table</replaceable> [ [ AS ] <rep
valeur.
</para>

<para>
Par défaut, <command>UPDATE</command> met à jour les lignes de la table
spécifiée et toutes ses sous-tables.
Si seule la table mentionnée doit être mise à jour, la clause
<literal>ONLY</literal> est utilisée.
</para>

<para>
Il existe deux façons de modifier le contenu d'une table à partir d'informations
contenues dans d'autres tables de la base de données&nbsp;: à l'aide de
Expand Down Expand Up @@ -99,7 +92,13 @@ UPDATE [ ONLY ] <replaceable class="parameter">table</replaceable> [ [ AS ] <rep
<term><replaceable class="parameter">table</replaceable></term>
<listitem>
<para>
Le nom de la table à mettre à jour (éventuellement qualifié du nom du schéma).
Le nom de la table à mettre à jour (éventuellement qualifié du nom du
schéma). Si <literal>ONLY</literal> est indiqué avant le nom de la table,
les lignes modifiées ne concernent que la table nommée. Si
<literal>ONLY</literal> n'est pas indiquée, les lignes modifiées font
partie de la table nommée et de ses tables filles. En option,
<literal>*</literal> peut être ajouté après le nom de la table pour
indiquer explicitement que les tables filles doivent être inclues.
</para>
</listitem>
</varlistentry>
Expand Down

0 comments on commit 25286fe

Please sign in to comment.