Skip to content

Commit

Permalink
Mise à jour en version 15.3
Browse files Browse the repository at this point in the history
  • Loading branch information
gleu committed May 31, 2023
1 parent 5227ced commit 40e5f49
Show file tree
Hide file tree
Showing 32 changed files with 2,034 additions and 127 deletions.
10 changes: 7 additions & 3 deletions postgresql/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,15 @@ endif

XMLINCLUDE = --path .

ifndef XMLLINT
ifdef XMLLINT
XMLLINT := $(XMLLINT) --nonet
else
XMLLINT = $(missing) xmllint
endif

ifndef XSLTPROC

ifdef XSLTPROC
XSLTPROC := $(XSLTPROC) --nonet
else
XSLTPROC = $(missing) xsltproc
endif

Expand Down
16 changes: 11 additions & 5 deletions postgresql/arch-dev.xml
Original file line number Diff line number Diff line change
Expand Up @@ -545,14 +545,14 @@
</para>

<para>
Le mécanisme de l'exécuteur est utilisé pour évaluer les quatre types de
Le mécanisme de l'exécuteur est utilisé pour évaluer les cinq types de
requêtes de base en SQL&nbsp;: <command>SELECT</command>,
<command>INSERT</command>, <command>UPDATE</command> et
<command>DELETE</command>. Pour <command>SELECT</command>, le code de
<command>INSERT</command>, <command>UPDATE</command>,
<command>DELETE</command> et <command>MERGE</command>. Pour <command>SELECT</command>, le code de
l'exécuteur de plus haut niveau a uniquement besoin d'envoyer chaque ligne
retournée par l'arbre plan de la requête vers le client. <command>INSERT
... SELECT</command>, <command>UPDATE</command>, and
<command>DELETE</command> sont en réalité des <command>SELECT</command>
... SELECT</command>, <command>UPDATE</command>,
<command>DELETE</command> et <command>MERGE</command> sont en réalité des <command>SELECT</command>
sous un nœud de plan haut niveau appelé <literal>ModifyTable</literal>.
</para>

Expand All @@ -569,6 +569,12 @@
réellement renvoyée par le plan est le TID, et le nœud
<literal>ModifyTable</literal> utilise simplement le TID pour visiter
chaque ligne cible et la marquer supprimée.
Pour <command>MERGE</command>, l'optimiseur joint les relations source et
cible, et inclut toutes les valeurs de colonne requises par chaque clause
<literal>WHEN</literal>, plus le TID de la ligne cible&nbsp;; cette donnée
est fournie au n&oelig;ud <literal>ModifyTable</literal> qui utilise
l'information pour trouver la clause <literal>WHEN</literal> à exécuter, puis
insère, met à jour ou supprime la ligne cible, suivant le besoin exprimé.
</para>

<para>
Expand Down
8 changes: 8 additions & 0 deletions postgresql/brin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1240,6 +1240,10 @@ typedef struct BrinOpcInfo
<entry>Procédure support 4</entry>
<entry>Fonction interne <function>brin_bloom_union()</function></entry>
</row>
<row>
<entry>Fonction de support 5</entry>
<entry>fonction interne <function>brin_bloom_options()</function></entry>
</row>
<row>
<entry>Procédure support 11</entry>
<entry>Fonction pour calculer le hachage d'un élément</entry>
Expand Down Expand Up @@ -1299,6 +1303,10 @@ typedef struct BrinOpcInfo
<entry>Procédure support 4</entry>
<entry>Fonction interne <function>brin_minmax_multi_union()</function></entry>
</row>
<row>
<entry>Fonction de support 5</entry>
<entry>Fonction interne <function>brin_minmax_multi_options()</function></entry>
</row>
<row>
<entry>Procédure support 11</entry>
<entry>Fonction de calcul de distance entre deux valeurs (longueur d'un intervalle)</entry>
Expand Down
7 changes: 6 additions & 1 deletion postgresql/datatype.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1509,7 +1509,12 @@ SELECT b, char_length(b) FROM test2;
<para>
Exemple&nbsp;:
<programlisting>
SELECT '\xDEADBEEF';
SET bytea_output = 'hex';

SELECT '\xDEADBEEF'::bytea;
bytea
------------
\xdeadbeef
</programlisting>
</para>
</sect2>
Expand Down
25 changes: 13 additions & 12 deletions postgresql/ddl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1902,7 +1902,7 @@ ALTER TABLE produits ADD FOREIGN KEY (id_groupe_produit) REFERENCES groupes_prod
objet utilisable comme une table. Permet aussi l'utilisation de
<command>COPY TO</command>. Ce droit est aussi nécessaire pour
référencer les valeurs actuelles d'une colonne dans
<command>UPDATE</command> ou <command>DELETE</command>. Pour les
<command>UPDATE</command>, <command>DELETE</command> ou <command>MERGE</command>. Pour les
séquences, ce droit permet aussi d'utiliser la fonction
<function>currval</function>. Pour les «&nbsp;Large Objects&nbsp;», ce
droit permet de lire l'objet binaire.
Expand Down Expand Up @@ -2703,7 +2703,7 @@ postgres=&gt; table passwd;
postgres=&gt; set role alice;
SET
postgres=&gt; table passwd;
ERROR: permission denied for relation passwd
ERROR: permission denied for table passwd
postgres=&gt; select user_name,real_name,home_phone,extra_info,home_dir,shell from passwd;
user_name | real_name | home_phone | extra_info | home_dir | shell
-----------+-----------+--------------+------------+-------------+-----------
Expand All @@ -2713,7 +2713,7 @@ postgres=&gt; select user_name,real_name,home_phone,extra_info,home_dir,shell fr
(3 rows)

postgres=&gt; update passwd set user_name = 'joe';
ERROR: permission denied for relation passwd
ERROR: permission denied for table passwd
-- Alice est autorisée à modifier son propre nom (real_name), mais pas celui des autres
postgres=&gt; update passwd set real_name = 'Alice Doe';
UPDATE 1
Expand All @@ -2722,9 +2722,9 @@ UPDATE 0
postgres=&gt; update passwd set shell = '/bin/xx';
ERROR: new row violates WITH CHECK OPTION for "passwd"
postgres=&gt; delete from passwd;
ERROR: permission denied for relation passwd
ERROR: permission denied for table passwd
postgres=&gt; insert into passwd (user_name) values ('xxx');
ERROR: permission denied for relation passwd
ERROR: permission denied for table passwd
-- Alice peut modifier son propre mot de passe; RLS empêche silencieusement la mise à jour d'autres lignes
postgres=&gt; update passwd set pwhash = 'abc';
UPDATE 1</programlisting>
Expand Down Expand Up @@ -4002,11 +4002,6 @@ VALUES ('Albany', NULL, NULL, 'NY');</programlisting>
PARTITION</command>.
</para>

<para>
La commande <command>ATTACH PARTITION</command> prend un verrou
<literal>SHARE UPDATE EXCLUSIVE</literal> sur la table partitionnée.
</para>

<para>
Les partitions peuvent également être des <link
linkend="ddl-foreign-data">tables étrangères</link>, mais il faut faire très
Expand Down Expand Up @@ -4248,10 +4243,16 @@ ALTER TABLE measurement DETACH PARTITION measurement_y2006m02 CONCURRENTLY;</pro
TABLESPACE fasttablespace;</programlisting>

De manière alternative, il est parfois plus pratique de créer la nouvelle
table en dehors de la structure partitionnée, et d'en faire une
table en dehors de la structure partitionnée, et de l'attacher comme
partition plus tard. Cela permet de charger de nouvelles données, de
les vérifier et d'y effectuer des transformations avant que les données
apparaissent dans la table partitionnée. L'option <literal>CREATE TABLE
apparaissent dans la table partitionnée. De plus, l'opération
<literal>ATTACH PARTITION</literal> ne requiert que le verrou
<literal>SHARE UPDATE EXCLUSIVE</literal> sur la table partitionnée
contrairement au verrou <literal>ACCESS EXCLUSIVE</literal> qui est
nécessaire pour <command>CREATE TABLE ... PARTITION OF</command>, donc
cette opération est préférable sur la table partitionnée.
L'option <literal>CREATE TABLE
... LIKE</literal> est utile pour éviter de répéter à chaque fois la
définition de la table parent&nbsp;:

Expand Down
69 changes: 36 additions & 33 deletions postgresql/docguide.xml
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,8 @@
<listitem>
<para>
Il s'agit d'un programme pour convertir, entre autres choses, du XML
vers du PDF.
vers du PDF. Il est uniquement nécessaire si vous voulez construire la
documentation au format PDF.
</para>
</listitem>
</varlistentry>
Expand All @@ -157,25 +158,13 @@
documentation, afin d'inclure ces informations ici-même.
</para>

<para>
Vous pouvez vous en sortir en n'installant ni DocBook XML ni les feuilles
de style DocBook XSLT localement, puisque les fichiers nécessaires seront
téléchargé par Internet et mis en cache localement. Cela pourrait en fait
être la solution préférable si les paquets de votre système d'exploitation
ne fournissent qu'une version ancienne de ces fichiers ou si aucun paquet
n'est disponible. Si vous voulez empêcher toute tentative d'accàs à
Internet lors de la construction de la documentation, vous devrez passer
l'option <option>--nonet</option> à <command>xmllint</command> et
<command>xsltproc</command>&nbsp;; voir ci-dessous pour un exemple.
</para>

<sect2>
<title>Installation sur Fedora, RHEL et dérivés</title>

<para>
Pour installer les packages requis, lancez&nbsp;:
<programlisting>
yum install docbook-dtds docbook-style-xsl fop libxslt
yum install docbook-dtds docbook-style-xsl libxslt fop
</programlisting>
</para>
</sect2>
Expand All @@ -186,7 +175,7 @@ yum install docbook-dtds docbook-style-xsl fop libxslt
<para>
Pour installer les paquets requis avec <command>pkg</command>, utiliser :
<programlisting>
pkg install docbook-xml docbook-xsl fop libxslt
pkg install docbook-xml docbook-xsl libxslt fop
</programlisting>
</para>

Expand All @@ -205,7 +194,7 @@ pkg install docbook-xml docbook-xsl fop libxslt
Un ensemble complet de paquetages d'outils de documentation est
disponible pour <productname>Debian GNU/Linux</productname>.
Pour l'installer, il suffit de taper&nbsp;:
<programlisting>apt-get install docbook-xml docbook-xsl fop libxml2-utils xsltproc
<programlisting>apt-get install docbook-xml docbook-xsl libxml2-utils xsltproc fop
</programlisting>
</para>
</sect2>
Expand All @@ -214,22 +203,42 @@ pkg install docbook-xml docbook-xsl fop libxslt
<title>macOS</title>

<para>
Sur macOS, vous pouvez construire la documentation HTML et man sans
installation supplémentaire. Si vous voulez construire les PDF ou si vous
voulez installer une copie locale de DocBook, vous pouvez les obtenir de
votre gestionnaire de paquets préféré.
Si vous utilisez MacPorts, les commandes suivantes vous aideront à la
configuration du système&nbsp;:
<programlisting>
sudo port install docbook-xml docbook-xsl-nons libxslt fop
</programlisting>
Si vous utilisez Homebrew, utilisez plutôt ceci&nbsp;:
<programlisting>
brew install docbook docbook-xsl libxslt fop
</programlisting>
</para>

<para>
Si vous utilisez MacPorts, voici comment configurer cela&nbsp;:
<programlisting>
sudo port install docbook-xml-4.5 docbook-xsl fop
</programlisting>
Si vous utilisez Homebrew, utilisez ceci&nbsp;:
<programlisting>
brew install docbook docbook-xsl fop
Le programme fourni par Homebrew requiert la configuration de la variable
d'environnement suivante&nbsp;:
<programlisting>
export XML_CATALOG_FILES=/usr/local/etc/xml/catalog
</programlisting>
Sur les machines Apple Silicon, utilisez ceci&nbsp;:
<programlisting>
export XML_CATALOG_FILES=/opt/homebrew/etc/xml/catalog
</programlisting>
Sans cela, <command>xsltproc</command> renverra ce genre d'erreurs&nbsp;:
<programlisting>
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
postgres.sgml:21: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
...
</programlisting>
</para>

<para>
Alors qu'il est possible d'utiliser les versions fournies par Apple de
<command>xmllint</command> et <command>xsltproc</command> à la place de
celles fournies par MacPorts ou Homebrew, vous aurez toujours besoin
d'installer les DTD et feuilles de style DocBook, et de configurer un
fichier catalogue qui pointe vers eux.
</para>
</sect2>

<sect2>
Expand Down Expand Up @@ -368,12 +377,6 @@ checking for dbtoepub... dbtoepub</computeroutput></screen>
trouver ces programmes, par exemple
<screen>
./configure ... XMLLINT=/opt/local/bin/xmllint ...
</screen>
De plus, si vous voulez vous assurer que <filename>xmllint</filename> et
<filename>xsltproc</filename> ne réaliseront aucun accès réseau, vous
pouvez le faire ainsi
<screen>
./configure ... XMLLINT="xmllint --nonet" XSLTPROC="xsltproc --nonet" ...
</screen>
</para>
</sect2>
Expand Down
18 changes: 9 additions & 9 deletions postgresql/func.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9953,11 +9953,11 @@ SELECT timestamp with time zone '2005-04-02 12:00:00-07' + interval '24 hours';
<screen>
SELECT EXTRACT(EPOCH FROM timestamptz '2013-07-01 12:00:00') -
EXTRACT(EPOCH FROM timestamptz '2013-03-01 12:00:00');
<lineannotation>Résultat : </lineannotation><computeroutput>10537200</computeroutput>
<lineannotation>Résultat : </lineannotation><computeroutput>10537200.000000</computeroutput>
SELECT (EXTRACT(EPOCH FROM timestamptz '2013-07-01 12:00:00') -
EXTRACT(EPOCH FROM timestamptz '2013-03-01 12:00:00'))
/ 60 / 60 / 24;
<lineannotation>Résultat : </lineannotation><computeroutput>121.958333333333</computeroutput>
<lineannotation>Résultat : </lineannotation><computeroutput>121.9583333333333333</computeroutput>
SELECT timestamptz '2013-07-01 12:00:00' - timestamptz '2013-03-01 12:00:00';
<lineannotation>Résultat : </lineannotation><computeroutput>121 days 23:00:00</computeroutput>
SELECT age(timestamptz '2013-07-01 12:00:00', timestamptz '2013-03-01 12:00:00');
Expand Down Expand Up @@ -10103,13 +10103,13 @@ SELECT EXTRACT(DOY FROM TIMESTAMP '2001-02-16 20:38:40');

<screen>
SELECT EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40.12-08');
<lineannotation>Résultat : </lineannotation><computeroutput>982384720.12</computeroutput>
<lineannotation>Résultat : </lineannotation><computeroutput>982384720.120000</computeroutput>

SELECT EXTRACT(EPOCH FROM TIMESTAMP '2001-02-16 20:38:40.12');
<lineannotation>Résultat : </lineannotation><computeroutput>982355920.12</computeroutput>
<lineannotation>Résultat : </lineannotation><computeroutput>982355920.120000</computeroutput>

SELECT EXTRACT(EPOCH FROM INTERVAL '5 days 3 hours');
<lineannotation>Résultat : </lineannotation><computeroutput>442800</computeroutput>
<lineannotation>Résultat : </lineannotation><computeroutput>4428000000</computeroutput>
</screen>

<para>
Expand Down Expand Up @@ -10258,7 +10258,7 @@ SELECT EXTRACT(MILLENNIUM FROM TIMESTAMP '2001-02-16 20:38:40');

<screen>
SELECT EXTRACT(MILLISECONDS FROM TIME '17:12:28.5');
<lineannotation>Résultat : </lineannotation><computeroutput>28500</computeroutput>
<lineannotation>Résultat : </lineannotation><computeroutput>28500.000</computeroutput>
</screen>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -10322,10 +10322,10 @@ SELECT EXTRACT(QUARTER FROM TIMESTAMP '2001-02-16 20:38:40');

<screen>
SELECT EXTRACT(SECOND FROM TIMESTAMP '2001-02-16 20:38:40');
<lineannotation>Résultat : </lineannotation><computeroutput>40</computeroutput>
<lineannotation>Résultat : </lineannotation><computeroutput>40.000000</computeroutput>

SELECT EXTRACT(SECOND FROM TIME '17:12:28.5');
<lineannotation>Résultat : </lineannotation><computeroutput>28.5</computeroutput>
<lineannotation>Résultat : </lineannotation><computeroutput>28.500000</computeroutput>
</screen>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -27229,7 +27229,7 @@ postgres=# SELECT * FROM pg_walfile_name_offset((pg_backup_stop()).lsn);
</para>
<para>
Convertit une taille indiquée en octets dans un format plus facilement
lisible par un humain avec des unités (bytes, kB, MB, GB ou TB suivant
lisible par un humain avec des unités (bytes, kB, MB, GB, TB ou PB suivant
le cas). Notez que les unités sont des puissances de 2, plutôt que des
puissances de 10, donc 1kB vaut 1024 octets,
1MB vaut 1024<superscript>2</superscript> = 1048576 octets, et ainsi
Expand Down
4 changes: 2 additions & 2 deletions postgresql/high-availability.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1728,8 +1728,8 @@ synchronous_standby_names = 'FIRST 2 (s1, s2, s3)'
<listitem>
<para>
Langage de Manipulation de Données (LMD ou DML)&nbsp;: <command>INSERT</command>,
<command>UPDATE</command>, <command>DELETE</command>, <command>COPY FROM</command>,
<command>TRUNCATE</command>.
<command>UPDATE</command>, <command>DELETE</command>, <command>MERGE</command>,
<command>COPY FROM</command>, <command>TRUNCATE</command>.
Notez qu'il n'y a pas d'action autorisée qui entraînerait l'exécution d'un
trigger pendant la récupération. Cette restriction s'applique même pour
les tables temporaires car les lignes de ces tables ne peuvent être
Expand Down
12 changes: 8 additions & 4 deletions postgresql/indices.xml
Original file line number Diff line number Diff line change
Expand Up @@ -682,15 +682,19 @@ CREATE INDEX test3_desc_index ON test3 (id DESC NULLS LAST);
Les index peuvent aussi être utilisés pour garantir l'unicité des
valeurs d'une colonne, ou l'unicité des valeurs combinées de plusieurs
colonnes.
<synopsis>CREATE UNIQUE INDEX <replaceable>nom</replaceable> ON <replaceable>table</replaceable> (<replaceable>colonne</replaceable> <optional>, ...</optional>);</synopsis>
<synopsis>CREATE UNIQUE INDEX <replaceable>nom</replaceable> ON <replaceable>table</replaceable> (<replaceable>colonne</replaceable> <optional>, ...</optional>) <optional> NULLS <optional> NOT </optional>optional> DISTINCT </optional>;</synopsis>
À ce jour, seuls les index B-tree peuvent être déclarés uniques.
</para>

<para>
Lorsqu'un index est déclaré unique, il ne peut exister plusieurs lignes
d'une table qui possèdent la même valeur indexée. Les valeurs NULL ne sont pas
considérées comme égales. Un index d'unicité multicolonne ne rejette que les
cas où toutes les colonnes indexées sont égales sur plusieurs lignes.
d'une table qui possèdent la même valeur indexée. Par défaut, les valeurs
NULL dans une colonne d'unicité ne sont pas considérées comme égales,
permettant ainsi plusieurs valeurs NULL dans la colonne. L'option
<literal>NULLS NOT DISTINCT</literal> modifie ceci et fait que l'index
traite les valeurs NULL comme identiques. Un index d'unicité multicolonne
ne rejette que les cas où toutes les colonnes indexées sont égales sur
plusieurs lignes.
</para>

<para>
Expand Down
4 changes: 3 additions & 1 deletion postgresql/libpq.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8787,7 +8787,9 @@ ldap://ldap.mycompany.com/dc=mycompany,dc=com?description?one?(cn=mydatabase)
<literal>libssl</literal> et/ou <literal>libcrypto</literal> ont été
initialisées par votre application, de façon à ce que
<application>libpq</application> n'initialise pas elle aussi ces
bibliothèques.
bibliothèques. Néanmoins, ceci n'est pas nécessaire lors de l'utilisation
d'<productname>OpenSSL</productname> version 1.1.0 ou supérieure, car les
initialisations dupliquées ne sont plus problématiques.
</para>

<para>
Expand Down
5 changes: 3 additions & 2 deletions postgresql/ltree.xml
Original file line number Diff line number Diff line change
Expand Up @@ -661,8 +661,9 @@ a. b. c. d. e.
<para>
La classe d'opérateur GiST <literal>gist_ltree_ops</literal> effectue une
approximation sur un ensemble de chemins de labels sous format de
signature bitmap. La taille de la signature par défaut est 8 octets. Les
valeurs valides de taille de signature sont entre 1 et 2024 octets.
signature bitmap. La taille de la signature par défaut est 8 octets.
La longueur doit être un multiple positif de l'alignement d'un type
<type>int</type> (4 octets sur la plupart des most machines) jusqu'à 2024.
Des tailles de signatures plus longues permettent une recherche plus précise (en
parcourant une fraction plus petite de l'index et moins de pages heap), au coût
d'un plus large index.
Expand Down

0 comments on commit 40e5f49

Please sign in to comment.