Skip to content

Commit

Permalink
Mise à jour en version 11.3
Browse files Browse the repository at this point in the history
  • Loading branch information
gleu committed May 27, 2019
1 parent 7d5531b commit 4db2f17
Show file tree
Hide file tree
Showing 21 changed files with 1,482 additions and 187 deletions.
21 changes: 13 additions & 8 deletions postgresql/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4636,17 +4636,21 @@ SELECT * FROM parent WHERE clef = 2400;</programlisting>

<para>
À l'heure actuelle, l'exclusion de contraintes est activée par défaut
only for cases that are often used to implement table partitioning via
inheritance tables. Turning it on for all tables imposes extra
planning overhead that is quite noticeable on simple queries, and most
often will yield no benefit for simple queries. If you have no
inheritance partitioned tables you might prefer to turn it off entirely.
seulement pour les cas souvent utilisés pour implémenter le
partitionnement de tables via les arbres d'héritage. L'activer pour
toutes les tables impose une surcharge de planification qui est
visible pour de simples requêtes, sans apporter de bénéfices pour ces
requêtes. Si vous n'avez pas de tables partitionnées utilisant
l'héritage traditionnel, vous pourriez vouloir le désactiver. (Notez
que la fonctionnalité équivalente pour les tables partitionnées est
contrôlée par un paramètre séparé, <xref
linkend="guc-enable-partition-pruning"/>.)
</para>

<para>
Reportez vous à <xref linkend="ddl-partitioning-constraint-exclusion"/>
pour plus d'informations sur l'utilisation d'exclusion de contraintes et
du partitionnement.
pour plus d'informations sur l'utilisation d'exclusion de contraintes
pour implémenter le partitionnement.
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -8466,7 +8470,8 @@ SET XML OPTION { DOCUMENT | CONTENT };
<productname>PostgreSQL</productname> lèvera une erreur de niveau PANIC
en cas d'échec de synchronisation des fichiers de données modifiés sur
le système de fichiers. Ceci causera le crash du serveur de bases de
données.
données. Ce paramètre peut seulement être configuré au lancement du
serveur.
</para>
<para>
Sur certains systèmes d'exploitation, le statut des données dans le
Expand Down
22 changes: 6 additions & 16 deletions postgresql/datatype.xml
Original file line number Diff line number Diff line change
Expand Up @@ -891,7 +891,7 @@ FROM generate_series(-3.5, 3.5, 1) as x;

est équivalent à écrire :

<programlisting>CREATE SEQUENCE <replaceable class="parameter">nom_de_table</replaceable>_<replaceable class="parameter">nom_de_colonne</replaceable>_seq;
<programlisting>CREATE SEQUENCE <replaceable class="parameter">nom_de_table</replaceable>_<replaceable class="parameter">nom_de_colonne</replaceable>_seq AS integer;
CREATE TABLE <replaceable class="parameter">nom_de_table</replaceable> (
<replaceable class="parameter">nom_de_colonne</replaceable> integer NOT NULL DEFAULT nextval('<replaceable class="parameter">nom_de_table</replaceable>_<replaceable class="parameter">nom_de_colonne</replaceable>_seq') NOT NULL
);
Expand Down Expand Up @@ -4311,10 +4311,11 @@ a0ee-bc99-9c0b-4ef8-bb6d-6bb9-bd38-0a11
<para>
Le type <type>xml</type> peut stocker des <quote>documents</quote> bien
formés, suivant la définition du standard XML, ainsi que des fragments
de contenu (<quote>content</quote>), qui sont définis par
<literal>XMLDecl? content</literal> du standard XML. Cela signifie
que les fragments de contenu peuvent avoir plus d'un élément racine ou
n&oelig;ud caractère. L'expression
de contenu (<quote>content</quote>), en référence au <ulink
url="https://www.w3.org/TR/2010/REC-xpath-datamodel-20101214/#DocumentNode"><quote>n&oelig;ud
de document</quote></ulink> plus permissif des modèle de données XQuery
et XPath. Cela signifie que les fragments de contenu peuvent avoir plus
d'un élément racine ou n&oelig;ud caractère. L'expression
<literal><replaceable>valeurxml</replaceable> IS DOCUMENT</literal>
permet d'évaluer si une valeur <type>xml</type> particulière
est un document complet ou seulement un fragment de contenu.
Expand Down Expand Up @@ -4387,17 +4388,6 @@ SET xmloption TO { DOCUMENT | CONTENT };
de données XML sont autorisées.
</para>

<note>
<para>
Avec le paramétrage par défaut des options XML, vous ne pouvez pas
convertir directement des chaînes de caractères dans le type
<type>xml</type> si elles contiennent une déclaration du type de document,
car la définition du fragment de contenu XML ne les accepte pas. Si vous
avez besoin de changer cela, soit vous utilisez
<literal>XMLPARSE</literal>, soit vous changez l'option XML.
</para>
</note>

</sect2>

<sect2>
Expand Down
17 changes: 16 additions & 1 deletion postgresql/dblink.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1197,11 +1197,26 @@ SELECT dblink_close('foo');
<title>Return Value</title>

<para>
Renvoie le dernier message, ou une chaîne vide s'il n'y a pas eu
Renvoie le dernier message, ou <literal>OK</literal> s'il n'y a pas eu
d'erreur sur cette connexion.
</para>
</refsect1>

<refsect1>
<title>Notes</title>

<para>
Quand des requêtes asynchrones sont initiées par
<function>dblink_send_query</function>, le message d'erreur associé avec
la connexion pourrait ne pas être mis à jour tant que le message de
réponse du serveur n'est pas consommé. Ceci signifie typiquement que
<function>dblink_is_busy</function> ou
<function>dblink_get_result</function> doivent être appelés avant
<function>dblink_error_message</function>, pour que toute erreur générée
par la requête asynchrone soit visible.
</para>
</refsect1>

<refsect1>
<title>Exemple</title>

Expand Down
47 changes: 7 additions & 40 deletions postgresql/ddl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3401,25 +3401,6 @@ ALTER TABLE measurement ATTACH PARTITION measurement_y2008m02
</para>
</listitem>

<listitem>
<para>
Lorsqu'un <command>UPDATE</command> fait déplacer une ligne d'une partition
à une autre, il y a un risque qu'un autre <command>UPDATE</command> ou
<command>DELETE</command> simultanée obtient une erreur de sérialisation.
Supposons que la session 1 effectue un <command>UPDATE</command> sur une
clé de partition, et qu'une session concurrente 2 pour laquelle cette
ligne est visible effectue sur elle une opération d'<command>UPDATE</command>
ou <command>DELETE</command>. Dans un tel cas, le <command>UPDATE</command> ou
le <command>DELETE</command> de la session détectera le mouvement de ligne et
lèvera une erreyr de sérialisation (qui renvoie toujours le code SQLSTATE
'40001'). Les applications pourraient souhaiter retenter la transaction si cela
arrive. Dans le cas habituel où la table n'est pas partitionnée ou qu'il n'y
a pas de mouvement de ligne, la session 2 aura identifié la ligne nouvellement
mise à jour et réalisé le <command>UPDATE</command>/<command>DELETE</command>
sur cette nouvelle ligne.
</para>
</listitem>

<listitem>
<para>
en cas de besoin, les triggers <literal>BEFORE ROW</literal> doivent
Expand Down Expand Up @@ -4002,24 +3983,11 @@ EXPLAIN SELECT count(*) FROM mesure WHERE date_trace &gt;= DATE '2008-01-01';

<note>
<para>
Actuellement, l'élagage des partitions pendant la planification d'une
commande <command>UPDATE</command> ou <command>DELETE</command> est
implémenté en utilisant la méthode d'exclusion par contraintes
(cependant, il est contrôlé par le paramètre
<literal>enable_partition_pruning</literal>
plutôt que <literal>constraint_exclusion</literal>)
-- voir la section suivante pour plus de détails et d'avertissements.
</para>

<para>
De plus, l'élagage des partitions pendant l'exécution ne se produit
actuellement que pour le type de n&oelig;ud <literal>Append</literal>, et non
pour le type de n&oelig;ud <literal>MergeAppend</literal>.
</para>

<para>
Ces deux comportements sont susceptibles d'être modifiés dans une prochaine
version de <productname>PostgreSQL</productname>.
L'élagage de partitions au moment de l'exécution survient seulement pour
le type de n&oelig;ud <literal>Append</literal>, mais pas pour les
n&oelig;uds <literal>MergeAppend</literal> et
<literal>ModifyTable</literal>. Ceci pourrait changer dans une prochaine
version de <productname>PostgreSQL</productname>.
</para>
</note>
</sect2>
Expand Down Expand Up @@ -4078,9 +4046,8 @@ EXPLAIN SELECT count(*) FROM mesure WHERE date_trace &gt;= DATE '2008-01-01';
<listitem>
<para>
Les contraintes d'exclusion ne sont appliquées que lors de la phase de
planification de la requête&nbsp;; contrairement à l'élagage de partition,
elles ne peuvent pas être appliquées lors de la phase d'exécution de la
requête.
planification de la requête, contrairement à l'élagage de partition,
qui peut être appliqué lors de la phase d'exécution de la requête.
</para>
</listitem>

Expand Down
2 changes: 1 addition & 1 deletion postgresql/external-projects.xml
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@
<row>
<entry>PL/R</entry>
<entry>R</entry>
<entry><ulink url="http://www.joeconway.com/plr.html">http://www.joeconway.com/plr.html</ulink></entry>
<entry><ulink url="https://github.com/postgres-plr/plr">https://github.com/postgres-plr/plr</ulink></entry>
</row>

<row>
Expand Down
18 changes: 18 additions & 0 deletions postgresql/fdwhandler.xml
Original file line number Diff line number Diff line change
Expand Up @@ -597,6 +597,16 @@ BeginForeignModify (ModifyTableState *mtstate,
de l'exécuteur.
</para>

<para>
Notez que cette fonction est aussi appelée lors de l'insertion de lignes
déplacées dans une partition de type table distante ou lors de
l'exécution de <command>COPY FROM</command> sur une table distante,
auquel cas elle est appelée d'une façon différente que dans le cas d'un
<command>INSERT</command>. Voir les fonctions callback décrites
ci-dessous permettant au FDW de le supporter. described below that allow
the FDW to support that.
</para>

<para>
<programlisting>
TupleTableSlot *
Expand Down Expand Up @@ -818,6 +828,14 @@ BeginForeignInsert(ModifyTableState *mtstate,
<literal>NULL</literal>, aucune action n'est faite pour l'initialisation.
</para>

<para>
Notez que si le FDW ne supporte pas les partitions de table distante
routables et/ou l'exécution de <command>COPY FROM</command> sur des
tables distantes, cette fonction ou
<function>ExecForeignInsert</function> appelées après doivent renvoyer
une erreur si nécessaire.
</para>

<para>
<programlisting>
void
Expand Down
2 changes: 2 additions & 0 deletions postgresql/func.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19235,6 +19235,8 @@ off
<xref linkend="functions-admin-backup-table"/> aident à l'exécution de
sauvegardes à chaud.
Ces fonctions ne peuvent pas être exécutées lors d'une restauration (sauf
<function>pg_start_backup</function> en version non exclusive,
<function>pg_stop_backup</function> en version non exclusive,
<function>pg_is_in_backup</function>, <function>pg_backup_start_time</function>
et <function>pg_wal_lsn_diff</function>).
</para>
Expand Down
4 changes: 2 additions & 2 deletions postgresql/monitoring.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1106,8 +1106,8 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
</row>
<row>
<entry><literal>CLogTruncationLock</literal></entry>
<entry>Attente de la troncature du journal de transactions (soit pour
le faire, soit que ce soit fait).</entry>
<entry>Attente de l'exécution de <function>txid_status</function> ou
de la mise à jour de l'identifiant le plus ancien disponible.</entry>
</row>
<row>
<entry><literal>clog</literal></entry>
Expand Down
4 changes: 2 additions & 2 deletions postgresql/pageinspect.xml
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ test=# SELECT * FROM heap_page_items(get_raw_page('pg_class', 0));

<varlistentry>
<term>
<function>tuple_data_split(rel_oid, t_data bytea, t_infomask integer, t_infomask2 integer, t_bits text [, do_detoast bool]) returns bytea[]</function>
<function>tuple_data_split(rel_oid oid, t_data bytea, t_infomask integer, t_infomask2 integer, t_bits text [, do_detoast bool]) returns bytea[]</function>
<indexterm>
<primary>tuple_data_split</primary>
</indexterm>
Expand All @@ -195,7 +195,7 @@ test=# SELECT tuple_data_split('pg_class'::regclass, t_data, t_infomask, t_infom

<varlistentry>
<term>
<function>heap_page_item_attrs(rel_oid, t_data bytea, [, do_detoast bool]) returns bytea[]</function>
<function>heap_page_item_attrs(page bytea, rel_oid regclass [, do_detoast bool]) returns setof record</function>
<indexterm>
<primary>heap_page_item_attrs</primary>
</indexterm>
Expand Down
7 changes: 6 additions & 1 deletion postgresql/postgres-fdw.xml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,12 @@
support pour les instructions <command>INSERT</command> avec une clause
<literal>ON CONFLICT DO UPDATE</literal>. Néanmoins, la clause <literal>ON
CONFLICT DO NOTHING</literal> est supporté, si la spécification de l'index
unique est omise.
unique est omise. Notez aussi que <filename>postgres_fdw</filename> supporte
le déplacement de ligne demandé par des instructions
<command>UPDATE</command> exécutées sur des tables partitionnées, mais il ne
gère pas le cas où une partition distante choisir pour insérer une ligne est
aussi une partition cible d'<command>UPDATE</command> qui sera mise à jour
ultérieurement.
</para>

<para>
Expand Down
5 changes: 4 additions & 1 deletion postgresql/ref/alter_table.xml
Original file line number Diff line number Diff line change
Expand Up @@ -883,7 +883,10 @@ WITH ( MODULUS <replaceable class="parameter">litéral_numérique</replaceable>,
index correspondant sera créé dans la table attachée. Si un index
équivalent existe déjà, il sera attaché à l'index de la table cible,
tout comme si <command>ALTER INDEX ATTACH PARTITION</command> avait été
executé.
executé. Notez que si la table existante est une table distante, il
n'est actuellement pas autorisé d'attacher la table comme partition de
la table cible s'il existe des index sur la table cible (voir aussi
<xref linkend="sql-createforeigntable"/>).
</para>

<para>
Expand Down
17 changes: 17 additions & 0 deletions postgresql/ref/create_foreign_table.xml
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,18 @@ CHECK ( <replaceable class="PARAMETER">expression</replaceable> ) [ NO INHERIT ]
</listitem>
</varlistentry>

<varlistentry>
<term><literal>PARTITION OF <replaceable>table_parent</replaceable> FOR VALUES <replaceable class="PARAMETER">spec_limites_partition</replaceable></literal></term>
<listitem>
<para>
Cette syntaxe peut être utilisée pour créer la table distante en tant
que partition de la table parent indiquée avec les valeurs limites
de la partition. Voir la syntaxe similaire de
<xref linkend="sql-createtable"/> pour plus de détails.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><literal>CONSTRAINT <replaceable class="PARAMETER">nom_contrainte</replaceable></literal></term>
<listitem>
Expand Down Expand Up @@ -309,6 +321,11 @@ CHECK ( <replaceable class="PARAMETER">expression</replaceable> ) [ NO INHERIT ]
incorrectes. C'est de la responsabilité de l'utilisateur de s'assurer que
la définition de la contrainte correspond à la réalité.
</para>

<para>
Bien que les tables distantes puissent être indiquées comme des partitions,
le routage des lignes vers de partitions distantes n'est pas supporté.
</para>
</refsect1>

<refsect1 id="sql-createforeigntable-examples">
Expand Down
41 changes: 34 additions & 7 deletions postgresql/ref/pg_rewind.xml
Original file line number Diff line number Diff line change
Expand Up @@ -170,13 +170,14 @@ PostgreSQL documentation
<term><option>--source-server=<replaceable class="parameter">chaine de connexion</replaceable></option></term>
<listitem>
<para>
Définit une chaine de connexion libpq permettant d'accéder à
l'instance <productname>PostgreSQL</productname> source de
façon à pouvoir la synchroniser avec la cible.
Cette option requiert l'utilisation d'une connexion standard avec un utilisant
disposant de l'attribut SUPERUSER.
L'instance source doit être opérationnelle et ne doit pas être en mode
de restauration (recovery).
Définit une chaine de connexion libpq permettant d'accéder à
l'instance <productname>PostgreSQL</productname> source de
façon à pouvoir la synchroniser avec la cible.
Cette option requiert l'utilisation d'une connexion standard
avec un rôle ayant les droits suffisants pour exécuter les fonctions
utilisées par <application>pg_rewind</application> sur le serveur
source (voir la section Notes pour les détails) ou un rôle
superutilisateur.
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -245,6 +246,32 @@ PostgreSQL documentation
<refsect1>
<title>Notes</title>

<para>
Lors de l'exécution de <application>pg_rewind</application> sur une
instance en ligne comme source, un rôle doté des droits suffisants pour
exécuter les fonctions utilisées par <application>pg_rewind</application>
sur l'instance source peut être utilisé à la place d'un superutilisateur.
Voici comment créer ce rôle, nommé ici
<literal>rewind_user</literal>&nbsp;:
<programlisting>
CREATE USER rewind_user LOGIN;
GRANT EXECUTE ON function pg_catalog.pg_ls_dir(text, boolean, boolean) TO rewind_user;
GRANT EXECUTE ON function pg_catalog.pg_stat_file(text, boolean) TO rewind_user;
GRANT EXECUTE ON function pg_catalog.pg_read_binary_file(text) TO rewind_user;
GRANT EXECUTE ON function pg_catalog.pg_read_binary_file(text, bigint, bigint, boolean) TO rewind_user;
</programlisting>
</para>

<para>
Lors de l'exécution de <application>pg_rewind</application> sur une
instance en ligne comme source récemment promue, il est nécessaire
d'exécuter un <command>CHECKPOINT</command> après la promotion pour que son
fichier de contrôle reflète des informations de timeline à jour, qui est
utilisé par <application>pg_rewind</application> pour vérifier si
l'instance cible peut être rembobiné en utilisant l'instance source
désignée.
</para>

<refsect2>
<title>Fonctionnement</title>

Expand Down

0 comments on commit 4db2f17

Please sign in to comment.