Skip to content

Commit

Permalink
Mise à jour en 9.6.1
Browse files Browse the repository at this point in the history
  • Loading branch information
gleu committed Oct 30, 2016
1 parent b850dd9 commit dc05247
Show file tree
Hide file tree
Showing 11 changed files with 2,792 additions and 70 deletions.
54 changes: 28 additions & 26 deletions postgresql/pgvisibility.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,22 @@
<para>
Le module <filename>pg_visibility</filename> fournit la possibilité
d'examiner la visibility map (VM) et les informations de visibilité au
niveau bloc. Il fournit aussi des fonctions permettant de vérifier
l'intégrité de la visibility map et de forcer sa reconstruction.
niveau bloc d'une table. Il fournit aussi des fonctions permettant de vérifier
l'intégrité d'une visibility map et de forcer sa reconstruction.
</para>

<para>
Trois bits différents sont utilisés pour enregistrer des informations sur la
visibilité au niveau des blocs. L'octet totalement-visible (all-visible) de
la visibility map indique que chaque ligne d'un bloc donné d'une relation
est visible pour toute transaction courante. L'octet totalement-figé (all-
est visible pour toute transaction courante et future. L'octet totalement-figé (all-
frozen) de la visibility map indique que chaque ligne du bloc est figée,
c'est-à-dire qu'aucun vacuum n'aura besoin de modifier le bloc tant qu'une
ligne n'est pas insérée, mise à jour, supprimée ou verrouillée dans ce bloc.
L'octet de niveau de bloc <literal>PD_ALL_VISIBLE</literal> a la même
Le bit <literal>PD_ALL_VISIBLE</literal> dans l'en-tête de page a la même
signification que l'octet totalement-visible de la visibility map, mais il
est stocké au sein du bloc plutôt que dans une structure de donnée séparée.
Ces deux octets seront normalement identiques, mais l'octet de niveau de
Ces deux bits seront normalement identiques, mais le bit de niveau de
bloc peut parfois rester défini pendant que la visibility map est purgée
lors de la récupération suite à un crash&nbsp;; ou ils peuvent être
différents suite à un changement survenant après que
Expand All @@ -36,7 +36,7 @@
</para>

<para>
Les fonctions qui affichent les informations concernant
Les fonctions qui affichent les informations concernant le bit
<literal>PD_ALL_VISIBLE</literal> sont plus beaucoup plus coûteuses que
celles qui consultent uniquement la visibility map. En effet, elles doivent
lire les blocs de données des relations plutôt que de ne s'intéresser qu'à
Expand All @@ -49,7 +49,7 @@

<variablelist>
<varlistentry>
<term><function>pg_visibility_map(regclass, blkno bigint, all_visible
<term><function>pg_visibility_map(relation regclass, blkno bigint, all_visible
OUT boolean, all_frozen OUT boolean) renvoie un enregistrement
</function></term>
<listitem>
Expand All @@ -61,7 +61,7 @@
</varlistentry>

<varlistentry>
<term><function>pg_visibility(regclass, blkno bigint, all_visible OUT
<term><function>pg_visibility(relation regclass, blkno bigint, all_visible OUT
boolean, all_frozen OUT boolean, pd_all_visible OUT boolean) returns setof record</function></term>
<listitem>
<para>
Expand All @@ -73,7 +73,7 @@
</varlistentry>

<varlistentry>
<term><function>pg_visibility_map(regclass, blkno OUT bigint, all_visible OUT boolean, all_frozen OUT boolean) returns setof record</function></term>
<term><function>pg_visibility_map(relation regclass, blkno OUT bigint, all_visible OUT boolean, all_frozen OUT boolean) returns setof record</function></term>
<listitem>
<para>
Renvoie tous les octets complétement visibles et complétement figés de
Expand All @@ -83,7 +83,7 @@
</varlistentry>

<varlistentry>
<term><function>pg_visibility(regclass, blkno OUT bigint, all_visible OUT boolean, all_frozen OUT boolean, pd_all_visible OUT boolean) returns setof record</function></term>
<term><function>pg_visibility(relation regclass, blkno OUT bigint, all_visible OUT boolean, all_frozen OUT boolean, pd_all_visible OUT boolean) returns setof record</function></term>

<listitem>
<para>
Expand All @@ -95,7 +95,7 @@
</varlistentry>

<varlistentry>
<term><function>pg_visibility_map_summary(regclass, all_visible OUT
<term><function>pg_visibility_map_summary(relation regclass, all_visible OUT
bigint, all_frozen OUT bigint) returns setof record</function></term>

<listitem>
Expand All @@ -108,49 +108,51 @@
</varlistentry>

<varlistentry>
<term><function>pg_check_frozen(regclass, t_ctid OUT tid) returns setof tid</function></term>
<term><function>pg_check_frozen(relation regclass, t_ctid OUT tid) returns setof tid</function></term>

<listitem>
<para>
Renvoie le TID (identifiant de ligne) des lignes non gelées présentes
dans les pages marquées complètement figés dans la visibility map. Si
cette fonction renvoie un ensemble non vide de TID, la base de données
cette fonction renvoie un ensemble non vide de TID, la visibility map
est corrompue.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><function>pg_check_visible(regclass, t_ctid OUT tid) returns setof tid</function></term>
<term><function>pg_check_visible(relation regclass, t_ctid OUT tid) returns setof tid</function></term>

<listitem>
<para>
Renvoie le TID (identifiant de ligne) des lignes non visibles contenues
dans des blocs marqués comme complètement visibles dans la visibility
map. Si cette fonction renvoie un ensemble non vide de TID, la base de
données est corrompue.
Renvoie les TID (identifiants de lignes) de tous les enregistrements qui
ne sont pas all-visible enregistrés dans des pages marquées all-visible
dans la visibility map. Si cette fonction renvoie un ensemble non vide,
la visibility map est corrompue.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><function>pg_truncate_visibility_map(regclass) returns void</function></term>
<term><function>pg_truncate_visibility_map(relation regclass) returns void</function></term>

<listitem>
<para>
Tronque la carte de visibilité pour la relation indiquée. Cette fonction
est utile seulement s'il y a suspiscion de corruption de la visibility
map pour cette relation et que la reconstruction est nécessaire. Le
premier <command>VACUUM</command> exécutée sur cette relation après
l'exécution de cette fonction parcourera tous les blocs de la relation
et reconstruiera la visibility map.
Tronque la visibility map de la relation indiquée. Cette fonction est
utile si vous pensez que la visibility map de cette relation est
corrompue et que vous souhaitez forcer sa reconstruction. Le premier
<command>VACUUM</command> exécuté sur cette relation après l'exécution
de cette fonction parcourera chaque bloc de la relation et reconstruiera
la visibility map. (Tant que cela ne sera pas fait, les requêtes
traiteront la visibility map comme ne contenant que des zéros.)
</para>
</listitem>
</varlistentry>
</variablelist>

<para>
Par défaut, ces fonctions ne sont pas exécutables par public.
Par défaut, ces fonctions ne sont exécutables que par des
superutilisateurs.
</para>
</sect2>

Expand Down
1 change: 1 addition & 0 deletions postgresql/ref/alter_extension.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ ALTER EXTENSION <replaceable class="PARAMETER">nom</replaceable> DROP <replaceab

<phrase>où <replaceable class="PARAMETER">objet_membre</replaceable> peut être&nbsp;:</phrase>

ACCESS METHOD <replaceable class="PARAMETER">nom_objet</replaceable> |
AGGREGATE <replaceable class="PARAMETER">nom_agrégat</replaceable> ( <replaceable>signature_agrégat</replaceable> ) |
CAST (<replaceable>type_source</replaceable> AS <replaceable>type_cible</replaceable>) |
COLLATION <replaceable class="PARAMETER">nom_objet</replaceable> |
Expand Down
12 changes: 8 additions & 4 deletions postgresql/ref/create_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -86,13 +86,13 @@
<para>
Crée une vue récursive. La syntaxe
<synopsis>
CREATE RECURSIVE VIEW <replaceable>nom</replaceable> (<replaceable>colonnes</replaceable>) AS SELECT <replaceable>...</replaceable>;
CREATE RECURSIVE VIEW [ <replaceable>schéma</replaceable> . ] <replaceable>nom</replaceable> (<replaceable>colonnes</replaceable>) AS SELECT <replaceable>...</replaceable>;
</synopsis>
est équivalente à
<synopsis>
CREATE VIEW <replaceable>nom</replaceable> AS WITH RECURSIVE <replaceable>nom</replaceable> (<replaceable>colonnes</replaceable>) AS (SELECT <replaceable>...</replaceable>) SELECT <replaceable>colonnes</replaceable> FROM <replaceable>name</replaceable>;
CREATE VIEW [ <replaceable>schéma</replaceable> . ] <replaceable>nom</replaceable> AS WITH RECURSIVE <replaceable>nom</replaceable> (<replaceable>colonnes</replaceable>) AS (SELECT <replaceable>...</replaceable>) SELECT <replaceable>colonne</replaceable> FROM <replaceable>nom</replaceable>;
</synopsis>
Une liste de colonne doit être spécifiée pour la vue récursive.
Une liste de noms de colonne doit être spécifiée pour la vue récursive.
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -478,11 +478,15 @@ seront en lecture seule.
<para>
Créer une vue récursive consistant en des nombres 1 à 100&nbsp;:
<programlisting>
CREATE RECURSIVE VIEW nums_1_100 (n) AS
CREATE RECURSIVE VIEW public.nums_1_100 (n) AS
VALUES (1)
UNION ALL
SELECT n+1 FROM nums_1_100 WHERE n &lt; 100;
</programlisting>
Notez que, bien que le nom de la vue récursive est qualifié du schéma dans
cette commande <command>CREATE</command>, sa propre référence interne n'est
pas qualifiée du schéma. Ceci est dû au fait que le nom, implicitement
créé, de la CTE ne peut pas être qualifié d'un schéma.
</para>
</refsect1>

Expand Down

0 comments on commit dc05247

Please sign in to comment.