Skip to content

Commit

Permalink
Mise à jour en version 12.18
Browse files Browse the repository at this point in the history
  • Loading branch information
gleu committed Feb 13, 2024
1 parent 9d592f9 commit 696df40
Show file tree
Hide file tree
Showing 19 changed files with 1,061 additions and 48 deletions.
42 changes: 25 additions & 17 deletions postgresql/ddl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1084,18 +1084,18 @@ CREATE TABLE tree (
</para>

<para>
Une clé étrangère doit référencer les colonnes qui soit sont une clé primaire,
soit forment une contrainte d'unicité. Cela signifie que les colonnes
référencées ont toujours un index (celui qui garantit la clé primaire ou
la contrainte unique). Donc les vérifications sur la ligne de référence
seront performantes.
Comme la suppression d'une ligne de la table référencée ou la mise à jour
d'une colonne référencée nécessitera un parcours de la table référée pour
trouver les lignes correspondant à l'ancienne valeur, il est souvent
intéressant d'indexer les colonnes référencées. Comme cela n'est pas
toujours nécessaire et qu'il y a du choix sur la façon d'indexer, l'ajout
d'une contrainte de clé étrangère ne crée pas automatiquement un index sur
les colonnes référencées.
Une clé étrangère doit référencer les colonnes qui soit sont une clé
primaire, soit forment une contrainte d'unicité, soit font partie d'un
index d'unicité non partiel. Cela signifie que les colonnes référencées
ont toujours un index qui permet une recherche efficace pour savoir si
la ligne référençante a une correspondance. Comme la suppression d'une
ligne de la table référencée ou la mise à jour d'une colonne référencée
nécessitera un parcours de la table référée pour trouver les lignes
correspondant à l'ancienne valeur, il est souvent intéressant d'indexer
les colonnes référencées. Comme cela n'est pas toujours nécessaire et
qu'il y a du choix sur la façon d'indexer, l'ajout d'une contrainte de
clé étrangère ne crée pas automatiquement un index sur les colonnes
référencées.
</para>

<para>
Expand Down Expand Up @@ -2183,9 +2183,15 @@ ALTER TABLE <replaceable>nom_table</replaceable> OWNER TO <replaceable>nouveau_p
<primary><type>aclitem</type></primary>
</indexterm>
Les privilèges accordés à un objet particulier sont affichés comme une
liste d'entrées <type>aclitem</type>, où chaque <type>aclitem</type>
décrit les permissions d'un bénéficiaire à qui des droits ont été
octroyés par un utilisateur différent.
liste d'entrées <type>aclitem</type>, chacun ayant le format&nbsp;:
<synopsis>
<replaceable>grantee</replaceable><literal>=</literal><replaceable>privilege-abbreviation</replaceable><optional><literal>*</literal></optional>...<literal>/</literal><replaceable>grantor</replaceable>
</synopsis>
Chaque <type>aclitem</type> liste tous les droits d'un bénéficiaire qui ont
été donnés par un rôle particulier. Les droits spécifiques sont représentés
par des abréviations sur une lettre à partir de
<xref linkend="privilege-abbrevs-table"/>, avec un <literal>*</literal>
ajouté si le droit a été donné avec l'option <literal>grant</literal>.
Par exemple, <literal>calvin=r*w/hobbes</literal> indique que le rôle
<literal>calvin</literal> a le privilège <literal>SELECT</literal>
(<literal>r</literal>) avec possibilité de transmission
Expand Down Expand Up @@ -4136,7 +4142,7 @@ ALTER TABLE measurement ATTACH PARTITION measurement_y2008m02
<programlisting>
CREATE INDEX measurement_usls_idx ON ONLY measurement (unitsales);

CREATE INDEX measurement_usls_200602_idx
CREATE INDEX CONCURRENTLY measurement_usls_200602_idx
ON measurement_y2006m02 (unitsales);
ALTER INDEX measurement_usls_idx
ATTACH PARTITION measurement_usls_200602_idx;
Expand Down Expand Up @@ -4264,7 +4270,9 @@ ALTER INDEX measurement_city_id_logdate_key
Utiliser <literal>ONLY</literal> pour ajouter ou supprimer une
contrainte uniquement sur la table partitionnée est supportée tant
qu'il n'y a pas de partitions. Dès qu'une partition existe, utiliser
<literal>ONLY</literal> renverra une erreur. À la place, des
<literal>ONLY</literal> renverra une erreur pour toute contrainte autre
que <literal>UNIQUE</literal> et <literal>PRIMARY KEY</literal>. À la
place, des
constraintes sur les partitions elles-mêmes peuvent être ajoutées et
(si elles ne sont pas présentes sur la table parent) supprimées.
</para>
Expand Down
13 changes: 8 additions & 5 deletions postgresql/fdwhandler.xml
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,15 @@
fonction de validation doit être enregistrée comme prenant deux
arguments&nbsp;: un tableau de texte contenant les options à
valider et un OID représentant le type d'objet avec lequel les
options sont validées (sous la forme d'un OID du catalogue système
options sont associées. Ce dernier correspond à l'OID du catalogue système
où sera stocké l'objet, donc
<literal>ForeignDataWrapperRelationId</literal>,
<literal>ForeignServerRelationId</literal>,
<literal>UserMappingRelationId</literal> ou
<literal>ForeignTableRelationId</literal>).
<itemizedlist spacing="compact">
<listitem><para><literal>AttributeRelationId</literal></para></listitem>
<listitem><para><literal>ForeignDataWrapperRelationId</literal></para></listitem>
<listitem><para><literal>ForeignServerRelationId</literal></para></listitem>
<listitem><para><literal>ForeignTableRelationId</literal></para></listitem>
<listitem><para><literal>UserMappingRelationId</literal></para></listitem>
</itemizedlist>
Si aucune fonction de validation n'est fournie, les options ne sont
pas vérifiées au moment de la création ou de la modification de
l'objet.
Expand Down
3 changes: 1 addition & 2 deletions postgresql/high-availability.xml
Original file line number Diff line number Diff line change
Expand Up @@ -696,8 +696,7 @@ ce que les nœuds s'accordent dans un système transactionnel sérialisable.
restaurer le fichier à partir de l'archive à nouveau. Cette boucle de
retentatives de l'archive, <filename>pg_wal</filename> et par la
streaming replication continue
jusqu'à ce que le serveur soit stoppé ou que le failover (bascule) soit
déclenché par un fichier trigger (déclencheur).
jusqu'à ce que le serveur soit stoppé ou promu.
</para>

<para>
Expand Down
35 changes: 34 additions & 1 deletion postgresql/indices.xml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,38 @@
jointures.
</para>

<para>
En général, les index <productname>PostgreSQL</productname> peuvent être
utilisées pour optimiser les requêtes qui contiennent une ou plusieurs
clauses <literal>WHERE</literal> ou <literal>JOIN</literal> de la forme

<synopsis>
<replaceable>colonne-indexee</replaceable> <replaceable>operateur-indexable</replaceable> <replaceable>valeur-comparaison</replaceable>
</synopsis>

Ici, la <replaceable>colonne-indexee</replaceable> est n'importe quel colonne
ou expression de la définition de l'index.
L'<replaceable>operateur-indexable</replaceable> est un opérateur qui est un
membre de la <firstterm>classe d'opérateur</firstterm> de l'index pour la
colonne indexée. (Plus de détails là-dessus ci-dessous.) et la
<replaceable>valeur-comparaison</replaceable> peut être toute expression qui
n'est pas volatile et ne fait pas référence à la table de l'index.
</para>

<para>
Dans certains case, l'optimiseur de requêtes peut extraire une clause
indexable de cette forme à partir d'une autre construction SQL. Un exemple
simple qui, si la clause originale est

<synopsis>
<replaceable>valeur-comparaison</replaceable> <replaceable>operateur</replaceable> <replaceable>colonne-indexee</replaceable>
</synopsis>

alors elle peut être inversée dans une forme indexable si
l'<replaceable>operateur</replaceable> original a un opérateur de commutation
qui est un membre de la classe d'opérateur de l'index.
</para>

<para>
Créer un index sur une grosse table peut prendre beaucoup de temps. Par
défaut, <productname>PostgreSQL</productname> autorise la lecture
Expand Down Expand Up @@ -118,7 +150,8 @@
B-tree, Hash, GiST, SP-GiST, GIN, BRIN et l'extension <link
linkend="bloom">bloom</link>.
Chaque type d'index utilise un algorithme
différent qui convient à un type particulier de requêtes. Par défaut, la
différent qui convient à un type particulier de clauses indexables. Par
défaut, la
commande <command>CREATE INDEX</command> crée un index B-tree, ce qui
convient dans la plupart des situations.
<indexterm>
Expand Down
4 changes: 2 additions & 2 deletions postgresql/information_schema.xml
Original file line number Diff line number Diff line change
Expand Up @@ -632,8 +632,8 @@
Un encodage d'un certain répertoire de caractères. La plupart
des anciens répertoires de caractères utilisent seulement un
encodage. Du coup, il n'y a pas de noms séparés pour eux (par
exemple <literal>LATIN1</literal> est une forme d'encodage
applicable au répertoire <literal>LATIN1</literal>). Par contre,
exemple <literal>LATIN2</literal> est une forme d'encodage
applicable au répertoire <literal>LATIN2</literal>). Par contre,
Unicode dispose des formats d'encodage <literal>UTF8</literal>,
<literal>UTF16</literal>, etc. (ils ne sont pas tous supportés
par PostgreSQL). Les formes d'encodage ne sont pas exposés comme
Expand Down
6 changes: 3 additions & 3 deletions postgresql/legal.xml
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<date>2023</date>
<date>2024</date>

<copyright>
<year>1996-2023</year>
<year>1996-2024</year>
<holder>The PostgreSQL Global Development Group</holder>
</copyright>

<legalnotice id="legalnotice">
<title>Legal Notice</title>

<para>
<productname>PostgreSQL</productname> is Copyright &copy; 1996-2023
<productname>PostgreSQL</productname> is Copyright &copy; 1996-2024
by the PostgreSQL Global Development Group.
</para>

Expand Down
6 changes: 4 additions & 2 deletions postgresql/libpq.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4642,8 +4642,10 @@ char *PQresultVerboseErrorMessage(const PGresult *res,
Dans l'état non bloquant, les appels à
<function>PQsendQuery</function>,
<function>PQputline</function>, <function>PQputnbytes</function>,
<function>PQputCopyData</function> et <function>PQendcopy</function> ne bloqueront pas mais renverront à la
place une erreur s'ils ont besoin d'être de nouveau appelés.
<function>PQputCopyData</function> et <function>PQendcopy</function> ne
bloqueront&nbsp;; leurs changements sont stockés dans le
tampon local en sortie jusqu'à ce qu'ils soient vidés. Les appels en
erreur renvoient une erreur et doivent être tentés de nouveau.
</para>
<para>
Notez que <function>PQexec</function> n'honore pas le mode non
Expand Down
2 changes: 1 addition & 1 deletion postgresql/logical-replication.xml
Original file line number Diff line number Diff line change
Expand Up @@ -491,7 +491,7 @@
<quote>apply</quote>.
Le processus walsender démarre le décodage logique (décrit dans la
section <xref linkend="protocol-logical-replication"/>) des fichiers
WAL et charge le plugin de décodage logique standard (pgoutput).
WAL et charge le plugin de décodage logique standard (<literal>pgoutput</literal>).
Ce plugin transforme les changements lus depuis les fichiers WAL vers
le protocole de réplication logique
(voir <xref linkend="protocol-logical-replication"/>)
Expand Down
3 changes: 2 additions & 1 deletion postgresql/plpython.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1335,7 +1335,8 @@ plan = plpy.prepare("INSERT INTO operations (resultat) VALUES ($1)", ["text"])
plpy.execute(plan, [result])
$$ LANGUAGE plpythonu;
</programlisting>
Notez que l'utilisation de <literal>try/catch</literal> est toujours
Notez que l'utilisation de <literal>try</literal>/<literal>catch</literal>
est toujours
requis. Sinon, l'exception se propagerait en haut de la pile Python
et causerait l'annulation de la fonction entière avec une erreur
<productname>PostgreSQL</productname>, pour que la table
Expand Down
17 changes: 13 additions & 4 deletions postgresql/protocol.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2557,6 +2557,8 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
<listitem>
<para>
Le nom d'une option passée au plugin de décodage logique du slot.
Voir <xref linkend="protocol-logical-replication"/> pour les options
qui sont acceptées par le plugin standard (<literal>pgoutput</literal>).
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -2878,12 +2880,18 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
du protocole de réplication physique en flux.
</para>

<para>
Le décodage logique de <productname>PostgreSQL</productname> supporte des
plugins de sortie. <literal>pgoutput</literal> est celui utilisé en standard
pour la réplication logique native.
</para>

<sect2 id="protocol-logical-replication-params">
<title>Paramètres de la réplication logique en flux</title>

<para>
La commande <literal>START_REPLICATION</literal> de réplication logique
accepte les paramètres suivants&nbsp;:
En utilisant la commande <literal>START_REPLICATION</literal>,
<literal>pgoutput</literal> accepte les paramètres suivants&nbsp;:

<variablelist>
<varlistentry>
Expand All @@ -2893,7 +2901,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
<listitem>
<para>
Version du protocole. Actuellement, seule la version <literal>1</literal>
est supportée.
est supportée. Une version valide est requise.
</para>
</listitem>
</varlistentry>
Expand All @@ -2907,7 +2915,8 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
Liste de noms de publications, séparés par des virgules, pour
souscription (récupération des modifications). Les noms de publication
individuels sont traités comme des noms d'objet standard et peuvent
être mis entre guillemets si nécessaire.
être mis entre guillemets si nécessaire. Il est requis d'indiquer
au moins un nom de publication.
</para>
</listitem>
</varlistentry>
Expand Down
2 changes: 1 addition & 1 deletion postgresql/ref/alter_event_trigger.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ ALTER EVENT TRIGGER <replaceable class="parameter">nom</replaceable> RENAME TO <
</varlistentry>

<varlistentry>
<term><literal>DISABLE</literal>/<literal>ENABLE [ REPLICA | ALWAYS ] TRIGGER</literal></term>
<term><literal>DISABLE</literal>/<literal>ENABLE [ REPLICA | ALWAYS ]</literal></term>
<listitem>
<para>
Ces formes configurent le déclenchement des triggers sur événement. Un
Expand Down
2 changes: 1 addition & 1 deletion postgresql/ref/alter_foreign_data_wrapper.xml
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ ALTER FOREIGN DATA WRAPPER <replaceable class="parameter">nom</replaceable> RENA
Modifier wrapper de données distantes <literal>dbi</literal>, ajouter
l'option <literal>foo</literal>, supprimer <literal>bar</literal>&nbsp;:
<programlisting>
ALTER FOREIGN DATA WRAPPER dbi OPTIONS (ADD foo '1', DROP 'bar');
ALTER FOREIGN DATA WRAPPER dbi OPTIONS (ADD foo '1', DROP bar);
</programlisting>
</para>

Expand Down
3 changes: 2 additions & 1 deletion postgresql/ref/copy.xml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,8 @@ de&nbsp;:</phrase>
</para>
<para>
Pour les requêtes <command>INSERT</command>, <command>UPDATE</command> et
<command>DELETE</command>, une clause RETURNING doit être fournie, et
<command>DELETE</command>, une clause <literal>RETURNING</literal> doit
être fournie, et
la relation cible ne doit avoir ni règle conditionnelle, ni règle
<literal>ALSO</literal>, ni règle <literal>INSTEAD</literal> qui
ajoute plusieurs requêtes.
Expand Down
17 changes: 14 additions & 3 deletions postgresql/ref/create_table.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1098,9 +1098,10 @@ contrainte <literal>EXCLUDE</literal> peut valoir&nbsp;:</phrase>
référence. Si la liste <replaceable
class="parameter">colonne_reference</replaceable> est omise, la clé
primaire de la <replaceable
class="parameter">table_reference</replaceable> est utilisée. Les
colonnes référencées doivent être celles d'une contrainte d'unicité ou
de clé primaire, non déferrable, dans la table référencée.
class="parameter">table_reference</replaceable> est utilisée.
Sinon, la liste <replaceable class="parameter">refcolumn</replaceable>
doit faire référence aux colonnes d'une contrainte d'unicité ou de clé
primaire non déferrable d'un index d'unicité non partiel.
L'utilisateur doit avoir la permission <literal>REFERENCES</literal> sur
la table référencée (soit toute la table, ou la colonne référencée
spécifiquement). L'ajout d'une contrainte de type clé étrangère requiert
Expand Down Expand Up @@ -2204,6 +2205,16 @@ CREATE TABLE cities_partdef
</para>
</refsect2>

<refsect2>
<title>Contrainte de clé étrangère</title>

<para>
<productname>PostgreSQL</productname> étend la contrainte de clé étrangère
en permettant de référencer les colonnes d'un index d'unicité au lieu des
colonnes d'une clé primaire ou d'une contrainte d'unicité.
</para>
</refsect2>

<refsect2>
<title>Contrainte <literal>NULL</literal></title>

Expand Down
2 changes: 1 addition & 1 deletion postgresql/ref/select.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1885,7 +1885,7 @@ WITH t AS (
)
SELECT * FROM t
UNION ALL
SELECT * FROM t
SELECT * FROM t;

x
--------------------
Expand Down

0 comments on commit 696df40

Please sign in to comment.