Skip to content

Commit

Permalink
Traduction des fichiers <60
Browse files Browse the repository at this point in the history
  • Loading branch information
gleu committed Aug 18, 2021
1 parent a670c0d commit 2669ca8
Show file tree
Hide file tree
Showing 5 changed files with 221 additions and 206 deletions.
83 changes: 41 additions & 42 deletions postgresql/indexam.xml
Original file line number Diff line number Diff line change
Expand Up @@ -316,17 +316,17 @@ aminsert (Relation indexRelation,
</para>

<para>
The <literal>indexUnchanged</literal> boolean value gives a hint
about the nature of the tuple to be indexed. When it is true,
the tuple is a duplicate of some existing tuple in the index. The
new tuple is a logically unchanged successor MVCC tuple version. This
happens when an <command>UPDATE</command> takes place that does not
modify any columns covered by the index, but nevertheless requires a
new version in the index. The index AM may use this hint to decide
to apply bottom-up index deletion in parts of the index where many
versions of the same logical row accumulate. Note that updating a
non-key column does not affect the value of
<literal>indexUnchanged</literal>.
La valeur booléenne <literal>indexUnchanged</literal> donne une idée sur la
nature de la ligne à indexer. Quand elle vaut true, la ligne est un
duplicat d'une ligne existant dans l'index. La nouvelle ligne est une
version ultérieure de ligne MVCC logiquement non modifiée. Ceci survient
quand un <command>UPDATE</command> a lieu et qu'il ne modifie par les
colonnes couvertes par l'index, mais qu'une nouvelle version est malgré
tout nécessaire. La méthode d'accès de l'index peut utiliser cette
information pour décider d'application la suppression du bas vers le haut
dans certaines parties de l'index où de nombreuses versions de la même
ligne logique s'accumulent. Notez que la mise à jour d'une colonne non clé
n'affecte pas la valeur de <literal>indexUnchanged</literal>.
</para>

<para>
Expand Down Expand Up @@ -557,7 +557,7 @@ amvalidate (Oid opclassoid);
fonctions de support. La fonction
<function>amvalidate</function> doit renvoyer false si la classe d'opérateur
est invalide. Les problèmes devraient être rapportés avec les messages
<function>ereport</function>, typically at <literal>INFO</literal> level.
<function>ereport</function>, typiquement au niveau <literal>INFO</literal>.
</para>

<para>
Expand All @@ -568,36 +568,35 @@ amadjustmembers (Oid opfamilyoid,
List *operators,
List *functions);
</programlisting>
Validate proposed new operator and function members of an operator family,
so far as the access method can reasonably do that, and set their
dependency types if the default is not satisfactory. This is called
during <command>CREATE OPERATOR CLASS</command> and during
<command>ALTER OPERATOR FAMILY ADD</command>; in the latter
case <parameter>opclassoid</parameter> is <literal>InvalidOid</literal>.
The <type>List</type> arguments are lists
of <structname>OpFamilyMember</structname> structs, as defined
in <filename>amapi.h</filename>.

Tests done by this function will typically be a subset of those
performed by <function>amvalidate</function>,
since <function>amadjustmembers</function> cannot assume that it is
seeing a complete set of members. For example, it would be reasonable
to check the signature of a support function, but not to check whether
all required support functions are provided. Any problems can be
reported by throwing an error.

The dependency-related fields of
the <structname>OpFamilyMember</structname> structs are initialized by
the core code to create hard dependencies on the opclass if this
is <command>CREATE OPERATOR CLASS</command>, or soft dependencies on the
opfamily if this is <command>ALTER OPERATOR FAMILY ADD</command>.
<function>amadjustmembers</function> can adjust these fields if some other
behavior is more appropriate. For example, GIN, GiST, and SP-GiST
always set operator members to have soft dependencies on the opfamily,
since the connection between an operator and an opclass is relatively
weak in these index types; so it is reasonable to allow operator members
to be added and removed freely. Optional support functions are typically
also given soft dependencies, so that they can be removed if necessary.
Valide l'opérateur new proposé et les membres fonctions d'une famille
d'opérateur, si la méthode d'accès peut raisonnablement le faire, et
configure leur types de dépendance si le défaut n'est pas satisfaisant.
C'est appelée lors du <command>CREATE OPERATOR CLASS</command> et lors du
<command>ALTER OPERATOR FAMILY ADD</command>&nbsp;; dans ce dernier cas,
<parameter>opclassoid</parameter> vaut <literal>InvalidOid</literal>. Les
arguments <type>List</type> sont des listes de structures
<structname>OpFamilyMember</structname>, comme définies dans
<filename>amapi.h</filename>. Les tests réalisés par cette fonction seront
typiquement un sous-ensemble de ceux réalisés par
<function>amvalidate</function>, parce que
<function>amadjustmembers</function> ne peut pas assumer qu'elle voit un
ensemble complet de membres. Par exemple, il serait raisonnable de
vérifier la signature d'une fonction d'appui, mais pas de vérifier si
toutes les fonctions d'appui requises sont fournies. Tout problème peut
être rapporté en renvoyant une erreur. Les champs relatifs aux dépendances
des structures <structname>OpFamilyMember</structname> sont initialisés
par le cœur de PostgreSQL pour créer les dépendances dures sur la classe
d'opérateur si c'est <command>CREATE OPERATOR CLASS</command>, ou des
dépendances douces sur la famille d'opérateur si c'est <command>ALTER
OPERATOR FAMILY ADD</command>. <function>amadjustmembers</function> peut
ajuster ces champs si d'autres comportements sont plus appropriés. Par
exemple, GIN, GiST et SP-GiST configurent toujours les membres opérateurs
pour avoir des dépendances douces sur la famille d'opérateur car la
connexion entre un opérateur et une classe d'opérateur est relativement
faible dans ces types d'index&nbsp;; donc il est raisonnable de permettre
l'ajout et la suppression libres de membres d'opérateurs. Les fonctions
d'appui optionnelles ont typiquement des dépendances douces, pour être
supprimées si nécessaire.
</para>


Expand Down
90 changes: 48 additions & 42 deletions postgresql/ref/alter_table.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ ALTER TABLE [ IF EXISTS ] <replaceable class="parameter">nom</replaceable>
ALTER [ COLUMN ] <replaceable class="parameter">nom_colonne</replaceable> SET ( <replaceable class="parameter">option_attribut</replaceable> = <replaceable class="parameter">valeur</replaceable> [, ... ] )
ALTER [ COLUMN ] <replaceable class="parameter">nom_colonne</replaceable> RESET ( <replaceable class="parameter">option_attribut</replaceable> [, ... ] )
ALTER [ COLUMN ] <replaceable class="parameter">nom_colonne</replaceable> SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
ALTER [ COLUMN ] <replaceable class="parameter">column_name</replaceable> SET COMPRESSION <replaceable class="parameter">compression_method</replaceable>
ALTER [ COLUMN ] <replaceable class="parameter">column_name</replaceable> SET COMPRESSION <replaceable class="parameter">méthode_compression</replaceable>
ADD <replaceable class="parameter">contrainte_table</replaceable> [ NOT VALID ]
ADD <replaceable class="parameter">contrainte_table_utilisant_index</replaceable>
ALTER CONSTRAINT <replaceable class="parameter">nom_contrainte</replaceable> [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
Expand Down Expand Up @@ -400,26 +400,29 @@ WITH ( MODULUS <replaceable class="parameter">litéral_numérique</replaceable>,
</term>
<listitem>
<para>
This form sets the compression method for a column, determining how
values inserted in future will be compressed (if the storage mode
permits compression at all).
This does not cause the table to be rewritten, so existing data may still
be compressed with other compression methods. If the table is restored
with <application>pg_restore</application>, then all values are rewritten
with the configured compression method.
However, when data is inserted from another relation (for example,
by <command>INSERT ... SELECT</command>), values from the source table are
not necessarily detoasted, so any previously compressed data may retain
its existing compression method, rather than being recompressed with the
compression method of the target column.
The supported compression
methods are <literal>pglz</literal> and <literal>lz4</literal>.
(<literal>lz4</literal> is available only if <option>--with-lz4</option>
was used when building <productname>PostgreSQL</productname>.) In
addition, <replaceable class="parameter">compression_method</replaceable>
can be <literal>default</literal>, which selects the default behavior of
consulting the <xref linkend="guc-default-toast-compression"/> setting
at the time of data insertion to determine the method to use.
Cette clause configure la méthode de compression pour une colonne,
déterminant comment les valeurs insérées dans le futur seront
compressées (si le mode de stockage permet la compression). Ceci ne
cause pas la réécriture de la table, donc les données existantes
pourraient toujours être compressées avec les autres méthodes de
compression. Si la table est restaurée avec
<application>pg_restore</application>, alors toutes les valeurs sont
réécritures avec la méthode de compression configurée. Néanmoins, quand
les données sont insérées à partir d'une autre relation (par exemple
par <command>INSERT ... SELECT</command>), les valeurs de la table
source ne sont pas forcément détoastées, donc toute donnée précédemment
compressée pourrait conserver sa méthode de compression existante,
plutôt que d'être recompressée avec la méthode de compression de la
colonne cible. Les méthodes de compression supportées sont
<literal>pglz</literal> et <literal>lz4</literal>.
(<literal>lz4</literal> est disponible seulement si
<option>--with-lz4</option> a été utilisé lors de la compilation de
<productname>PostgreSQL</productname>.) De plus, <replaceable
class="parameter">méthode_compression</replaceable> peut valoir
<literal>default</literal>, ce qui sélectionne le comportement par
défaut consistant à lire la valeur du paramètre <xref
linkend="guc-default-toast-compression"/> lors de l'insertion de
données pour déterminer la méthode à utiliser.
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -1027,27 +1030,30 @@ WITH ( MODULUS <replaceable class="parameter">litéral_numérique</replaceable>,
type clé étrangère.
</para>
<para>
If <literal>CONCURRENTLY</literal> is specified, it runs using a reduced
lock level to avoid blocking other sessions that might be accessing the
partitioned table. In this mode, two transactions are used internally.
During the first transaction, a <literal>SHARE UPDATE EXCLUSIVE</literal>
lock is taken on both parent table and partition, and the partition is
marked as undergoing detach; at that point, the transaction is committed
and all other transactions using the partitioned table are waited for.
Once all those transactions have completed, the second transaction
acquires <literal>SHARE UPDATE EXCLUSIVE</literal> on the partitioned
table and <literal>ACCESS EXCLUSIVE</literal> on the partition,
and the detach process completes. A <literal>CHECK</literal> constraint
that duplicates the partition constraint is added to the partition.
<literal>CONCURRENTLY</literal> cannot be run in a transaction block and
is not allowed if the partitioned table contains a default partition.
</para>
<para>
If <literal>FINALIZE</literal> is specified, a previous
<literal>DETACH CONCURRENTLY</literal> invocation that was cancelled or
interrupted is completed.
At most one partition in a partitioned table can be pending detach at
a time.
Si <literal>CONCURRENTLY</literal> est précisé, cela fonctionne en
utilisant un niveau de verrou réduit pour éviter de bloquer les autres
sessions qui pourraient être en train d'accéder à la table
partitionnée. Dans ce mode, deux transactions sont utilisées en
interne. Lors de la première transaction, un verrou <literal>SHARE
UPDATE EXCLUSIVE</literal> est pris à la fois sur la table parent et
sur la partition, et la partition est marquée comme en cours de
détachement&nbsp;; à ce moment là, la transaction est validée et la
commande devient en attente de toutes les autres transactions
utilisant la table partitionnée. Une fois que toutes ces transactions
ont terminé, la deuxième transaction acquiert un verrou <literal>SHARE
UPDATE EXCLUSIVE</literal> sur la table partitionnée et un verrou
<literal>ACCESS EXCLUSIVE</literal> sur la partition, et le processus
de détachement se termine. Une contrainte <literal>CHECK</literal> qui
duplique la contrainte de partitionnement est ajoutée à la partition.
<literal>CONCURRENTLY</literal> ne peut pas être utilisé dans un bloc
de transaction et n'est pas autorisé si la table partitionnée contient
une partition par défaut.
</para>
<para>
Si <literal>FINALIZE</literal> est indiqué, un appel précédent à
<literal>DETACH CONCURRENTLY</literal> qui a été annulé ou interrompu
est terminé. Au plus une partition dans une table partitionnée peut
être en attente de détachement.
</para>
</listitem>
</varlistentry>
Expand Down
64 changes: 34 additions & 30 deletions postgresql/ref/create_procedure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ CREATE [ OR REPLACE ] PROCEDURE
| SET <replaceable class="parameter">parametre_configuration</replaceable> { TO <replaceable class="parameter">valeur</replaceable> | = <replaceable class="parameter">valeur</replaceable> | FROM CURRENT }
| AS '<replaceable class="parameter">definition</replaceable>'
| AS '<replaceable class="parameter">fichier_objet</replaceable>', '<replaceable class="parameter">symbole_lien</replaceable>'
| <replaceable class="parameter">sql_body</replaceable>
| <replaceable class="parameter">corps_sql</replaceable>
} ...
</synopsis>
</refsynopsisdiv>
Expand Down Expand Up @@ -170,12 +170,12 @@ CREATE [ OR REPLACE ] PROCEDURE

<listitem>
<para>
Le nom du langage dans lequel la procédure est implémentée.
Ce peut être <literal>sql</literal>, <literal>c</literal>,
Le nom du langage dans lequel la procédure est implémentée. Ce peut être
<literal>sql</literal>, <literal>c</literal>,
<literal>internal</literal> ou le nom d'un langage procédural défini
par l'utilisateur, par exemple <literal>plpgsql</literal>. The default is
<literal>sql</literal> if <replaceable
class="parameter">sql_body</replaceable> is specified. Mettre le nom
par l'utilisateur, par exemple <literal>plpgsql</literal>. La valeur
par défaut est <literal>sql</literal> si <replaceable
class="parameter">corps_sql</replaceable> est indiqué. Mettre le nom
entre guillemets simples est obsolète et exige une casse identique.
</para>
</listitem>
Expand Down Expand Up @@ -321,35 +321,39 @@ CREATE [ OR REPLACE ] PROCEDURE
</varlistentry>

<varlistentry>
<term><replaceable class="parameter">sql_body</replaceable></term>
<term><replaceable class="parameter">corps_sql</replaceable></term>

<listitem>
<para>
The body of a <literal>LANGUAGE SQL</literal> procedure. This should
be a block
Le corps d'une procédure <literal>LANGUAGE SQL</literal>. Cela devrait
être un bloc
<programlisting>
BEGIN ATOMIC
<replaceable>statement</replaceable>;
<replaceable>statement</replaceable>;
<replaceable>instruction</replaceable>;
<replaceable>instruction</replaceable>;
...
<replaceable>statement</replaceable>;
<replaceable>instruction</replaceable>;
END
</programlisting>
</para>

<para>
This is similar to writing the text of the procedure body as a string
constant (see <replaceable>definition</replaceable> above), but there
are some differences: This form only works for <literal>LANGUAGE
SQL</literal>, the string constant form works for all languages. This
form is parsed at procedure definition time, the string constant form is
parsed at execution time; therefore this form cannot support
polymorphic argument types and other constructs that are not resolvable
at procedure definition time. This form tracks dependencies between the
procedure and objects used in the procedure body, so <literal>DROP
... CASCADE</literal> will work correctly, whereas the form using
string literals may leave dangling procedures. Finally, this form is
more compatible with the SQL standard and other SQL implementations.
Ceci est similaire à écrire le texte du corps de la procédure sous la
forme d'une chaîne constante
(voir <replaceable>definition</replaceable> ci-dessus), mais il existe
quelques différences&nbsp;: Cette forme fonctionne seulement pour
<literal>LANGUAGE SQL</literal>, la forme de chaîne constante
fonctionne pour tous les langages. Cette forme est analysée au moment
de la défintion de la procédure, la forme de chaîne constante est
analysée au moment de l'exécution&nbsp;; de ce fait, cette forme ne
supporte pas les arguments de type polymorphique et les autres
constructions qui ne sont pas analysables au moment de la définition.
Cette forme traque les dépendances entres la procédure et les objets
utilisés dans le corps de la procédure, donc un <literal>DROP
... CASCADE</literal> fonctionnera correctement, alors que la forme
utilisant une chaîne pourrait laisser des procédures invalides. Enfin,
cette forme est plus compatible avec le standard SQL et les autres
implémentations SQL.
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -381,7 +385,7 @@ INSERT INTO tbl VALUES (a);
INSERT INTO tbl VALUES (b);
$$;
</programlisting>
or
ou
<programlisting>
CREATE PROCEDURE insert_data(a integer, b integer)
LANGUAGE SQL
Expand All @@ -390,7 +394,7 @@ BEGIN ATOMIC
INSERT INTO tbl VALUES (b);
END;
</programlisting>
and call like this:
et l'appeler ainsi&nbsp;:
<programlisting>
CALL insert_data(1, 2);
</programlisting></para>
Expand All @@ -400,10 +404,10 @@ CALL insert_data(1, 2);
<title>Compatibilité</title>

<para>
Une commande <command>CREATE PROCEDURE</command> est définie dans le standard
SQL. L'implémentation de <productname>PostgreSQL</productname> can be
used in a compatible way but has many extensions. Pour plus de détails, voir aussi
<xref linkend="sql-createfunction"/>.
Une commande <command>CREATE PROCEDURE</command> est définie dans le
standard SQL. L'implémentation de <productname>PostgreSQL</productname>
peut être utilisée d'une façon compatible mais a de nombreuses extensions.
Pour plus de détails, voir aussi <xref linkend="sql-createfunction"/>.
</para>
</refsect1>

Expand Down

0 comments on commit 2669ca8

Please sign in to comment.