Skip to content

Commit

Permalink
Mise à jour en version 14.7
Browse files Browse the repository at this point in the history
  • Loading branch information
gleu committed Feb 22, 2023
1 parent f7cb53f commit 16428af
Show file tree
Hide file tree
Showing 17 changed files with 1,216 additions and 89 deletions.
14 changes: 7 additions & 7 deletions postgresql/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11001,7 +11001,7 @@ SET XML OPTION { DOCUMENT | CONTENT };
</listitem>
</varlistentry>

<varlistentry>
<varlistentry id="guc-trace-locks" xreflabel="trace_locks">
<term><varname>trace_locks</varname> (<type>boolean</type>)</term>
<listitem>
<indexterm>
Expand Down Expand Up @@ -11043,7 +11043,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
</listitem>
</varlistentry>

<varlistentry>
<varlistentry id="guc-trace-lwlocks" xreflabel="trace_lwlocks">
<term><varname>trace_lwlocks</varname> (<type>boolean</type>)</term>
<listitem>
<indexterm>
Expand All @@ -11063,7 +11063,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
</listitem>
</varlistentry>

<varlistentry>
<varlistentry id="guc-trace-userlocks" xreflabel="trace_userlocks">
<term><varname>trace_userlocks</varname> (<type>boolean</type>)</term>
<listitem>
<indexterm>
Expand All @@ -11077,7 +11077,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
</listitem>
</varlistentry>

<varlistentry>
<varlistentry id="guc-trace-lock-oidmin" xreflabel="trace_lock_oidmin">
<term><varname>trace_lock_oidmin</varname> (<type>integer</type>)</term>
<listitem>
<indexterm>
Expand All @@ -11096,7 +11096,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
</listitem>
</varlistentry>

<varlistentry>
<varlistentry id="guc-trace-lock-table" xreflabel="trace_lock_table">
<term><varname>trace_lock_table</varname> (<type>integer</type>)</term>
<listitem>
<indexterm>
Expand Down Expand Up @@ -11131,7 +11131,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
</listitem>
</varlistentry>

<varlistentry>
<varlistentry id="guc-debug-deadlocks" xreflabel="debug_deadlocks">
<term><varname>log_btree_build_stats</varname> (<type>boolean</type>)</term>
<listitem>
<indexterm>
Expand All @@ -11149,7 +11149,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
</listitem>
</varlistentry>

<varlistentry id="guc-wal-consistency-checking" xreflabel="wal_consistency_checking">
<varlistentry id="guc-log-btree-build-stats" xreflabel="log_btree_build_stats">
<term><varname>wal_consistency_checking</varname> (<type>string</type>)
<indexterm>
<primary>Paramètre de configuration <varname>wal_consistency_checking</varname></primary>
Expand Down
6 changes: 3 additions & 3 deletions postgresql/event-trigger.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1207,9 +1207,9 @@ noddl(PG_FUNCTION_ARGS)
trigdata = (EventTriggerData *) fcinfo->context;
ereport(ERROR,
(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
errmsg("command \"%s\" denied", trigdata->tag)));
(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
errmsg("command \"%s\" denied",
GetCommandTagName(trigdata->tag))));
PG_RETURN_NULL();
}
Expand Down
4 changes: 4 additions & 0 deletions postgresql/func.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1612,6 +1612,10 @@ repeat('Pg', 4) <returnvalue>PgPgPgPg</returnvalue>
<para>
<literal>round(42.4382, 2)</literal>
<returnvalue>42.44</returnvalue>
</para>
<para>
<literal>round(1234.56, -1)</literal>
<returnvalue>1230</returnvalue>
</para></entry>
</row>

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>2022</date>
<date>2023</date>

<copyright>
<year>1996&ndash;2022</year>
<year>1996&ndash;2023</year>
<holder>The PostgreSQL Global Development Group</holder>
</copyright>

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

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

Expand Down
5 changes: 3 additions & 2 deletions postgresql/libpq.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5024,10 +5024,11 @@ char *PQresultVerboseErrorMessage(const PGresult *res,
</para>

<para>
Alors que l'API de pipeline a été introduite dans
Alors que l'API de pipeline de <application>libpq</application> a été introduite dans
<productname>PostgreSQL</productname> 14, c'est une fonctionnalité du côté
client qui ne requiert pas de support spécial côté serveur, et fonctionne
avec tout serveur qui supporte le protocole de requêtes étendu v3.
avec tout serveur qui supporte le protocole de requêtes étendu v3. Pour
plus d'informations, voir <xref linkend="protocol-flow-pipelining"/>.
</para>

<sect2 id="libpq-pipeline-using">
Expand Down
7 changes: 4 additions & 3 deletions postgresql/protocol.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1104,16 +1104,17 @@ SELCT 1/0;<!-- l'erreur est intentionnelle -->
ont échoué. Néanmoins, il existe quelques commandes DDL (comme
<command>CREATE DATABASE</command>) qui ne peuvent pas être exécutées dans
un bloc de transaction. Si une de ces commandes est exécutée dans un
pipeline, cela forcera une validation immédiate en cas de succès pour
préserver la cohérence de la base. Un Sync suivant immédiatement une des ces
pipeline, cela échouera sauf s'il s'agit de la première commande du pipeline.
De plus, en cas de succès, cela forcera une validation immédiate pour
préserver la cohérence de la base. De ce fait, un Sync suivant immédiatement une des ces
commandes n'aura pas d'effet autre que de répondre avec ReadyForQuery.
</para>

<para>
Lors de l'utilisation de cette méthode, la fin du pipelin doit être
déterminée en comptant les messages ReadyForQuery et en attendant que cela
atteigne le nombre de Sync envoyés. Compter les réponses de fin de commande
n'est pas fiable car certaines commandes pourraient ne pas être exécutées et
n'est pas fiable car certaines commandes pourraient être ignorées et
donc ne pas produire de message de fin.
</para>
</sect2>
Expand Down
64 changes: 49 additions & 15 deletions postgresql/query.xml
Original file line number Diff line number Diff line change
Expand Up @@ -663,46 +663,52 @@ ORDER BY ville;</programlisting>
<indexterm><primary>HAVING</primary></indexterm>

Les agrégats sont également très utiles s'ils sont combinés avec les clauses
<literal>GROUP BY</literal>. Par exemple, nous pouvons obtenir la
<literal>GROUP BY</literal>. Par exemple, nous pouvons obtenir le nombre de
prises de température et la
température la plus haute parmi les températures basses observées dans
chaque ville avec&nbsp;:

<programlisting>SELECT ville, max(t_basse)
<programlisting>SELECT ville, count(*), max(t_basse)
FROM temps
GROUP BY ville;</programlisting>

<screen> ville | max
---------------+-----
Hayward | 37
San Francisco | 46
<screen> ville | count | max
---------------+-------|-----
Hayward | 1 | 37
San Francisco | 2 | 46
(2 rows)</screen>

ce qui nous donne une ligne par ville dans le résultat. Chaque résultat
d'agrégat est calculé avec les lignes de la table correspondant à la ville.
Nous pouvons filtrer ces lignes groupées en utilisant
<literal>HAVING</literal> et le décompte en sortie en utilisant
<literal>FILTER</literal> &nbsp;:
<literal>HAVING</literal>&nbsp;:

<programlisting>SELECT ville, max(t_basse), count(*) FILTER (WHERE t_basse &lt; 30)
<programlisting>SELECT ville, count(*), max(t_basse)
FROM temps
GROUP BY ville
HAVING max(t_basse) &lt; 40;</programlisting>

<screen> ville | max | count
---------+-----+-------
Hayward | 37 | 5
<screen> ville | count | max
---------+-------+-----
Hayward | 1 | 37
</screen>

ce qui nous donne le même résultat uniquement pour les villes qui ont
toutes leurs valeurs de <structfield>t_basse</structfield> en dessous de
40. Pour finir, si nous nous préoccupons seulement des villes dont le nom
commence par <quote><literal>S</literal></quote>, nous pouvons faire&nbsp;:

<programlisting>SELECT ville, max(t_basse), count(*) FILTER (WHERE t_basse &lt; 30)
<programlisting>SELECT ville, count(*), max(t_basse)
FROM temps
WHERE ville LIKE 'S%' -- <co id="co.tutorial-agg-like"/>
GROUP BY ville
HAVING max(t_basse) &lt; 40;</programlisting>
GROUP BY ville;</programlisting>

<screen>
city | count | max
---------------+-------+-----
San Francisco | 2 | 46
(1 row)
</screen>
<calloutlist>
<callout arearefs="co.tutorial-agg-like">
<para>
Expand Down Expand Up @@ -742,6 +748,34 @@ ORDER BY ville;</programlisting>
calculs d'agrégat pour toutes les lignes qui ont échoué lors du contrôle
fait par <literal>WHERE</literal>.
</para>

<para>
Une autre façon de sélectionner les lignes qui vont dans le calcul d'un
agrégat est d'utiliser la clause <literal>FILTER</literal>, qui est une
option par agrégat&nbsp;:

<programlisting>
SELECT ville, count(*) FILTER (WHERE t_basse &lt; 45), max(t_basse)
FROM temps
GROUP BY ville;
</programlisting>

<screen>
city | count | max
---------------+-------+-----
Hayward | 1 | 37
San Francisco | 1 | 46
(2 rows)
</screen>

<literal>FILTER</literal> ressemble beaucoup à <literal>WHERE</literal>,
sauf qu'elle supprime les lignes uniquement sur l'entrée de la fonction
d'agrégat à laquelle elle est attachée. Dans cet exemple, l'agrégat
<literal>count</literal> compte seulement les lignes pour lesquelles la
colonne <literal>t_basse</literal> a une valeur inférieure à 45 alors que
l'agrégat <literal>max</literal> est toujours appliqué à toutes les lignes,
donc il trouve toujours la valeur 46.
</para>
</sect1>


Expand Down
2 changes: 1 addition & 1 deletion postgresql/ref/alter_role.xml
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ ALTER ROLE davide WITH PASSWORD NULL;
</para>

<para>
Donner à un rôle la capacité de créer d'autres rôles et de nouvelles bases
Donner à un rôle la capacité de gérer d'autres rôles et de créer de nouvelles bases
de données&nbsp;:

<programlisting>ALTER ROLE miriam CREATEROLE CREATEDB;
Expand Down
14 changes: 11 additions & 3 deletions postgresql/ref/comment.xml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
TRIGGER <replaceable class="parameter">nom_déclencheur</replaceable> ON <replaceable class="parameter">nom_table</replaceable> |
TYPE <replaceable class="parameter">nom_objet</replaceable> |
VIEW <replaceable class="parameter">nom_objet</replaceable>
} IS '<replaceable class="parameter">texte</replaceable>'
} IS { <replaceable class="parameter">texte</replaceable> | NULL }

<phrase>où <replaceable>signature_agrégat</replaceable> est&nbsp;:</phrase>

Expand Down Expand Up @@ -270,8 +270,16 @@
<term><replaceable class="parameter">texte</replaceable></term>
<listitem>
<para>
Le nouveau commentaire, rédigé sous la forme d'une chaîne littérale&nbsp;; ou
<literal>NULL</literal> pour supprimer le commentaire.
Le nouveau commentaire, rédigé sous la forme d'une chaîne littérale.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><literal>NULL</literal></term>
<listitem>
<para>
Écrire <literal>NULL</literal> pour supprimer le commentaire.
</para>
</listitem>
</varlistentry>
Expand Down
10 changes: 6 additions & 4 deletions postgresql/ref/create_role.xml
Original file line number Diff line number Diff line change
Expand Up @@ -113,10 +113,12 @@ in sync when changing the above synopsis!
<term><literal>NOCREATEROLE</literal></term>
<listitem>
<para>
Ces clauses précisent le droit de création de nouveaux rôles
(c'est-à-dire d'exécuter <command>CREATE ROLE</command>). Un rôle qui
possède le droit <literal>CREATEROLE</literal> peut aussi modifier ou
supprimer d'autres rôles. <literal>NOCREATEROLE</literal> est la valeur
Ces clauses précisent le droit de création, modification, suppression,
ajout de commentaire, modification du label de sécurité, d'ajout et de
suppression de membres pour les rôles.
Voir <xref linkend='role-creation' /> pour plus de détails sur les
possibilités offertes par ce droit.
<literal>NOCREATEROLE</literal> est la valeur
par défaut.
</para>
</listitem>
Expand Down
23 changes: 15 additions & 8 deletions postgresql/ref/createuser.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,15 @@
</para>

<para>
Pour créer un super-utilisateur, il est impératif de se connecter en
super-utilisateur&nbsp;; la simple connexion en utilisateur disposant du
droit <literal>CREATEROLE</literal> n'est pas suffisante. Être
super-utilisateur implique la capacité d'outrepasser toutes les
vérifications de droits d'accès à la base de données&nbsp;; les privilèges
de super-utilisateur ne peuvent pas être accordés à la légère.
Pour créer un rôle disposant de l'attribut <literal>SUPERUSER</literal>,
<literal>REPLICATION</literal> ou <literal>BYPASSRLS</literal>, il est
impératif de se connecter en superutilisateur&nbsp;; la connexion avec un
rôle ne disposant que du droit <literal>CREATEROLE</literal> n'est pas
suffisante. Être superutilisateur implique la capacité d'outrepasser toutes
les vérifications de droits d'accès à la base de données&nbsp;; l'attribut
<literal>SUPERUSER</literal> ne doit pas être accordé à la légère.
<literal>CREATEROLE</literal> donne aussi accès à des <link
linkend='role-creation'>droits très étendus</link>.
</para>

<para>
Expand Down Expand Up @@ -220,8 +223,12 @@
<term><option>--createrole</option></term>
<listitem>
<para>
Le nouvel utilisateur est autorisé à créer de nouveaux rôles (il
possède le privilège <literal>CREATEROLE</literal>).
Le nouvel utilisateur sera autorisé à créer, modifier, supprimer, ajouter
un commentaire, modifier le label de sécurité, et donner ou supprimer les
membres dans d'autres rôles. Autrement dit, cet utilisateur aura
l'attribut <literal>CREATEROLE</literal>. Voir <xref
linkend='role-creation' /> pour plus de détails sur les possibilités
offertes par ce droit.
</para>
</listitem>
</varlistentry>
Expand Down
23 changes: 19 additions & 4 deletions postgresql/ref/security_label.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ SECURITY LABEL [ FOR <replaceable class="parameter">fournisseur</replaceable> ]
TABLESPACE <replaceable class="parameter">nom_objet</replaceable> |
TYPE <replaceable class="parameter">nom_objet</replaceable> |
VIEW <replaceable class="parameter">nom_objet</replaceable>
} IS '<replaceable class="parameter">label</replaceable>'
} IS { <replaceable class="parameter">texte</replaceable> | NULL }

<phrase>où <replaceable>signature_agrégat</replaceable> est&nbsp;:</phrase>

Expand Down Expand Up @@ -180,8 +180,16 @@ SECURITY LABEL [ FOR <replaceable class="parameter">fournisseur</replaceable> ]
<term><replaceable class="parameter">label</replaceable></term>
<listitem>
<para>
Le nom du label à affecter, fourni sous la forme d'une chaine littérale
ou <literal>NULL</literal> pour supprimer un label de sécurité précédemment affecté.
La nouvelle configuration du label de sécurité, fourni sous la forme d'une chaine littérale.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><literal>NULL</literal></term>
<listitem>
<para>
Écrire <literal>NULL</literal> pour supprimer le label de sécurité.
</para>
</listitem>
</varlistentry>
Expand All @@ -192,11 +200,18 @@ SECURITY LABEL [ FOR <replaceable class="parameter">fournisseur</replaceable> ]
<title>Exemples</title>

<para>
L'exemple suivant montre comment modifier le label de sécurité d'une table.
L'exemple suivant montre comment le label de sécurité d'une table
pourrait être configuré ou modifié.

<programlisting>
SECURITY LABEL FOR selinux ON TABLE matable IS 'system_u:object_r:sepgsql_table_t:s0';
</programlisting>

Pour supprimer le label&nbsp;:

<programlisting>
SECURITY LABEL FOR selinux ON TABLE matable IS NULL;
</programlisting>
</para>
</refsect1>

Expand Down

0 comments on commit 16428af

Please sign in to comment.