Skip to content

Commit

Permalink
Mise à jour en version 9.1.16
Browse files Browse the repository at this point in the history
  • Loading branch information
gleu committed May 26, 2015
1 parent 6e85ae2 commit dc5681c
Show file tree
Hide file tree
Showing 14 changed files with 1,142 additions and 91 deletions.
2 changes: 1 addition & 1 deletion postgresql/charset.xml
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,7 @@ by pg_wchar_table.mblen function for each encoding.
<entry>Standard national</entry>
<entry>Chinois</entry>
<entry>Non</entry>
<entry>1-2</entry>
<entry>1-4</entry>
<entry></entry>
</row>
<row>
Expand Down
5 changes: 5 additions & 0 deletions postgresql/citext.xml
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,11 @@
</para>

<itemizedlist>
<listitem>
<para>
<function>regexp_matches()</function>
</para>
</listitem>
<listitem>
<para>
<function>regexp_replace()</function>
Expand Down
119 changes: 77 additions & 42 deletions postgresql/client-auth.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,12 +221,14 @@ hostnossl <replaceable>database</replaceable> <replaceable>user</replaceable>
</para>

<para>
Les adresses IP doivent être écrites sous la notation décimale standard avec
une longueur de masque <acronym>CIDR</acronym>. La longueur du masque indique le nombre de
bits forts pour lesquels une correspondance doit être trouvée avec l'adresse
IP du client. Les bits de droite doivent valoir zéro dans l'adresse IP
indiquée. Il ne doit y avoir aucune espace entre l'adresse IP, le
<literal>/</literal> et la longueur du masque CIDR.
Une plage d'adresses IP est spécifiée en utilisant la notation
numérique standard (adresse de début de plage, suivi d'un slash
(<literal>/</literal>) et suivi de la longueur du masque
<acronym>CIDR</acronym>. La longueur du masque indique le nombre de
bits forts pour lesquels une correspondance doit être trouvée avec
l'adresse IP du client. Les bits de droite doivent valoir zéro dans
l'adresse IP indiquée. Il ne doit y avoir aucune espace entre l'adresse
IP, le <literal>/</literal> et la longueur du masque CIDR.
</para>

<para>
Expand All @@ -237,24 +239,28 @@ hostnossl <replaceable>database</replaceable> <replaceable>user</replaceable>
</para>

<para>
Une adresse CIDR (<replaceable>CIDR-address</replaceable>) est typiquement
Une plage d'adresses IPv4 spécifiée au format CIDR est typiquement
<literal>172.20.143.89/32</literal> pour un hôte seul,
<literal>172.20.143.0/24</literal> pour un petit réseau ou
<literal>10.6.0.0/16</literal> pour un réseau plus grand.
Une plage d'adresses IPv6 spécifiée au format CIDR est par exemple
<literal>::1/128</literal> pour un hôte seul (dans ce cas la boucle
locale IPv6) ou <literal>fe80::7a31:c1ff:0000:0000/96</literal> pour un
petit réseau.
<literal>0.0.0.0/0</literal> représente toutes les adresses IPv4, et
<literal>::/0</literal> représente l'ensemble des adresses IPv6.
Pour n'indiquer qu'un seul hôte, on utilise un masque de 32 pour IPv4 ou 128 pour
IPv6. Dans une adresse réseau, ne pas oublier les zéros terminaux.
<literal>::0/0</literal> représente l'ensemble des adresses IPv6.
Pour n'indiquer qu'un seul hôte, on utilise une longueur de masque de 32
pour IPv4 ou 128 pour IPv6. Dans une adresse réseau, ne pas oublier les
zéros terminaux.
</para>

<para>
Une adresse IP indiquée au format IPv4 coïncide avec les connexions IPv6
d'adresse correspondante. Par exemple, <literal>127.0.0.1</literal> correspond
à l'adresse IPv6 <literal>::ffff:127.0.0.1</literal>. Une entrée donnée au
format IPv6 correspond uniquement aux connexions IPv6 même si l'adresse
représentée est dans le domaine IPv4-vers-IPv6. Les adresses au
format IPv6 sont rejetées si la bibliothèque système C ne supporte pas
les adresses IPv6.
Une entrée donnée dans le format IPv4 correspondra seulement aux
connexions IPv4, et une entrée donnée dans le format IPv6 correspondra
seulement aux connexions IPv6, même si l'adresse représentée est dans
la plage IPv4-in-IPv6. Notez que les entrées au format IPv6 seront
rejetées si la bibliothèque C du système n'a pas de support des adresses
IPv6.
</para>

<para>
Expand All @@ -265,7 +271,7 @@ hostnossl <replaceable>database</replaceable> <replaceable>user</replaceable>

<para>
Si un nom d'hôte est renseigné (dans les faits tout ce qui ne correspond pas
à une adresse ou une plage d'adresses IP, ni à un mot clé, sera traité
à une plage d'adresses IP ou à un mot clé sera traité
comme un nom d'hôte potentiel), ce nom est comparé au résultat d'une
résolution de nom inverse de l'adresse IP du client (ou une recherche
DNS inverse si un DNS est utilisé). Les comparaisons de noms d'hôtes
Expand Down Expand Up @@ -344,7 +350,8 @@ hostnossl <replaceable>database</replaceable> <replaceable>user</replaceable>
<listitem>
<para>
Ces champs peuvent être utilisés comme alternative à la notation
<replaceable>CIDR-address</replaceable>. Au lieu de spécifier la longueur
<replaceable>adresse IP</replaceable><literal>/</literal><replaceable>longueur
masque</replaceable>. Au lieu de spécifier la longueur
du masque, le masque réel est indiquée dans une colonne distincte. Par
exemple, <literal>255.0.0.0</literal> représente une longueur de masque CIDR
IPv4 de 8, et <literal>255.255.255.255</literal> représente une longueur de
Expand Down Expand Up @@ -977,14 +984,18 @@ omicron bryanh guest1
<term><literal>map</literal></term>
<listitem>
<para>
Permet la mise en correspondance entre les noms système et base de données.
Voir <xref linkend="auth-username-maps"/> pour plus de détails. Pour
un principal Kerberos <literal>username/hostbased@EXAMPLE.COM</literal>,
le nom d'utilisateur utilisé pour la correspondance est
<literal>nomutilisateur/hote</literal> si
<literal>include_realm</literal> est désactivé, et
<literal>username/hostbased@EXAMPLE.COM</literal> si
<literal>include_realm</literal> est activé.
Permet la mise en correspondance entre les noms système et base de
données. Voir <xref linkend="auth-username-maps"/> pour plus de détails.
Pour un principal GSSAPI/Kerberos, tel que
<literal>username@EXAMPLE.COM</literal> (ou, moins communément,
<literal>username/hostbased@EXAMPLE.COM</literal>), le nom d'utilisateur
par défaut utilisé pour la correspondance est
<literal>username</literal> (ou <literal>username/hostbased</literal>,
respectivement), sauf si <literal>include_realm</literal> a été configuré
à 1 (comme recommandé, voir ci-dessus), auquel cas
<literal>username@EXAMPLE.COM</literal> (ou
<literal>username/hostbased@EXAMPLE.COM</literal>) est vu comme le
nom d'utilisateur système lors de la correspondance.
</para>
</listitem>
</varlistentry>
Expand All @@ -993,11 +1004,11 @@ omicron bryanh guest1
<term><literal>krb_realm</literal></term>
<listitem>
<para>
Configure le royaume pour la correspondance du principal de l'utilisateur.
Si ce paramètre est configuré, seuls les utilisateurs de ce royaume
seront acceptés. S'il n'est pas configuré, les utilisateurs de tout
royaume peuvent se connecter, à condition que la correspondance du nom
de l'utilisateur est faite.
Configure le royaume pour la correspondance du principal de
l'utilisateur. Si ce paramètre est configuré, seuls les utilisateurs
de ce royaume seront acceptés. S'il n'est pas configuré, les
utilisateurs de tout royaume peuvent se connecter, à condition que la
correspondance du nom de l'utilisateur est faite.
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -1043,10 +1054,17 @@ omicron bryanh guest1
<listitem>
<para>
Si configuré à 1, le nom du royaume provenant du
principal de l'utilisateur authentifié est inclus dans le nom de
l'utilisateur système qui est passé au système de correspondance
d'utilisateur (<xref linkend="auth-username-maps"/>). Ceci est utile
pour gérer des utilisateurs provenant de plusieurs royaumes.
principal de l'utilisateur authentifié est inclus dans le nom de
l'utilisateur système qui est passé au système de correspondance
d'utilisateur (<xref linkend="auth-username-maps"/>). Cela correspond
à la configuration recommandée. Dans le cas contraire, il est impossible
de différencier les utilisateurs de même nom mais de royaume différent.
La valeur par défaut de ce paramètre est 0 (ceci signifiant qu'il ne
faut pas inclure le royaume dans le nom d'utilisateur système) mais
peut être changé en 1 dans une prochaine version de
<productname>PostgreSQL</productname>. Les utilisateurs peuvent le
configurer explicitement pour éviter tout problème lors d'une mise à
jour.
</para>
</listitem>
</varlistentry>
Expand All @@ -1055,8 +1073,18 @@ omicron bryanh guest1
<term><literal>map</literal></term>
<listitem>
<para>
Permet la mise en correspondance entre les noms système et base de données.
Voir <xref linkend="auth-username-maps"/> pour plus de détails.
Permet la mise en correspondance entre les noms système et base de
données. Voir <xref linkend="auth-username-maps"/> pour plus de détails.
Pour un principal GSSAPI/Kerberos, tel que
<literal>username@EXAMPLE.COM</literal> (ou, moins communément,
<literal>username/hostbased@EXAMPLE.COM</literal>), le nom d'utilisateur
par défaut utilisé pour la correspondance est
<literal>username</literal> (ou <literal>username/hostbased</literal>,
respectivement), sauf si <literal>include_realm</literal> a été configuré
à 1 (comme recommandé, voir ci-dessus), auquel cas
<literal>username@EXAMPLE.COM</literal> (ou
<literal>username/hostbased@EXAMPLE.COM</literal>) est vu comme le
nom d'utilisateur système lors de la correspondance.
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -1219,10 +1247,17 @@ omicron bryanh guest1
<listitem>
<para>
Si configuré à 1, le nom du royaume provenant du
principal de l'utilisateur authentifié est inclus dans le nom de
l'utilisateur système qui est passé au système de correspondance
d'utilisateur (<xref linkend="auth-username-maps"/>). Ceci est utile
pour gérer des utilisateurs provenant de plusieurs royaumes.
principal de l'utilisateur authentifié est inclus dans le nom de
l'utilisateur système qui est passé au système de correspondance
d'utilisateur (<xref linkend="auth-username-maps"/>). Cela correspond
à la configuration recommandée. Dans le cas contraire, il est impossible
de différencier les utilisateurs de même nom mais de royaume différent.
La valeur par défaut de ce paramètre est 0 (ceci signifiant qu'il ne
faut pas inclure le royaume dans le nom d'utilisateur système) mais
peut être changé en 1 dans une prochaine version de
<productname>PostgreSQL</productname>. Les utilisateurs peuvent le
configurer explicitement pour éviter tout problème lors d'une mise à
jour.
</para>
</listitem>
</varlistentry>
Expand Down
13 changes: 8 additions & 5 deletions postgresql/ecpg.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1363,11 +1363,14 @@ EXEC SQL END DECLARE SECTION;
<title>Tableaux</title>

<para>
Les tableaux au niveau SQL ne sont pas supportés directement dans
ECPG. Il n'est pas possible de mettre simplement en correspondance
un tableau SQL avec une variable hôte de type tableau.
Cela entraînera un comportement indéfini. Quelques contournements
existent, toutefois.
Les tableaux SQL multi-dimensionnels ne sont pas directement supportés
dans ECPG. Les tableaux SQL à une dimension peuvent être placés dans des
variables hôtes de type tableau C et vice-versa. Néanmoins, lors de la
création d'une instruction, ecpg ne connaît pas le type des colonnes, donc
il ne peut pas vérifier si un tableau C est à placer dans un tableau SQL
correspondant. Lors du traitement de la sortie d'une requête SQL, ecpg
a suffisamment d'informations et, de ce fait, vérifie si les deux sont
des tableaux.
</para>

<para>
Expand Down
12 changes: 12 additions & 0 deletions postgresql/extend.xml
Original file line number Diff line number Diff line change
Expand Up @@ -717,6 +717,18 @@ SELECT pg_catalog.pg_extension_config_dump('my_config', 'WHERE NOT standard_entr
une table est de la dissocier de l'extension avec la commande
<command>ALTER EXTENSION ... DROP TABLE</command>.
</para>

<para>
Notez que les relations de clés étrangères entre ces tables dicteront
l'ordre dans lequel les tables seront sauvegardées par pg_dump. Plus
spécifiquement, pg_dump tentera de sauvegarder en premier la table
référencé, puis la table référante. Comme les relations de clés étrangères
sont configurées lors du CREATE EXTENSION (avant que les données ne soient
chargées dans les tables), les dépendances circulaires ne sont pas gérées.
Quand des dépendances circulaires existent, les données seront toujours
sauvegardées mais ne seront pas restaurables directement. Une intervention
de l'utilisateur sera nécessaire.
</para>
</sect2>

<sect2>
Expand Down
66 changes: 40 additions & 26 deletions postgresql/libpq.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3718,10 +3718,16 @@ queue d'envoi (ce cas arrive seulement si la connexion est non bloquante).
<para>
Après avoir envoyé une commande ou des données dans une connexion non bloquante,
appelez <function>PQflush</function>. S'il renvoie 1, attendez que la socket
soit disponible en écriture et appelez-la de nouveau&nbsp;; répétez cela jusqu'à
ce qu'il renvoie 0. Une fois que <function>PQflush</function> renvoie 0,
attendez que la socket soit disponible en lecture puis lisez la réponse comme
décrit ci-dessus.
devienne prête en lecture ou en écriture. Si elle est prête en écriture, appelez
de nouveau <function>PQflush</function>. Si elle est prête en lecture, appelez
<function>PQconsumeInput</function>, puis appelez <function>PQflush</function>.
Répétez jusqu'à ce que <function>PQflush</function> renvoie 0. (Il est
nécessaire de vérifier si elle est prête en lecture, et de vidanger l'entrée
avec <function>PQconsumeInput</function> car le serveur peut bloquer en
essayant d'envoyer des données, par exemple des messages NOTICE, et ne va pas
lire nos données tant que nous n'avons pas lu les siennes.) Une fois que
<function>PQflush</function> renvoie 0, attendez que la socket soit disponible
en lecture puis lisez la réponse comme décrit ci-dessus.
</para>

</sect1>
Expand Down Expand Up @@ -3900,27 +3906,35 @@ typedef struct
</para>

<para>
L'argument <parameter>fnid</parameter> est l'OID de la fonction à exécuter.
<parameter>args</parameter> et <parameter>nargs</parameter> définissent les paramètres à
passer à la fonction&nbsp;; ils doivent correspondre à la liste d'arguments
déclarés de la fonction. Quand le champ <parameter>isint</parameter> d'une structure est
vrai, la valeur de <parameter>u.integer</parameter> est envoyée au serveur en tant
qu'entier de la longueur indiquée (qui doit être 1, 2 ou 4 octets)&nbsp;; les
bons échanges d'octets se passent. Quand <parameter>isint</parameter> est faux, le
nombre d'octets indiqué sur <parameter>*u.ptr</parameter> est envoyé au
traitement&nbsp;; les données doivent être dans le format attendu par le
serveur pour la transmission binaire du type de données de l'argument de la
fonction. <parameter>result_buf</parameter> est le tampon dans lequel placer le
code de retour. L'appelant doit avoir alloué suffisamment d'espace pour stocker
le code de retour (il n'y a pas de vérification&nbsp;!). La longueur actuelle
du résultat sera renvoyé dans l'entier pointé par
<parameter>result_len</parameter>. Si un résultat sur un entier de 1, 2 ou
4 octets est attendu, initialisez <parameter>result_is_int</parameter> à 1,
sinon initialisez-le à 0. Initialiser <parameter>result_is_int</parameter> à 1
fait que <application>libpq</application> échange les octets de la valeur si nécessaire,
de façon à ce que la bonne valeur <type>int</type> soit délivrée pour la
machine cliente. Quand <parameter>result_is_int</parameter> vaut 0, la chaîne d'octets
au format binaire envoyée par le serveur est renvoyée non modifiée.
L'argument <parameter>fnid</parameter> est l'OID de la fonction à exécuter.
<parameter>args</parameter> et <parameter>nargs</parameter> définissent les
paramètres à passer à la fonction&nbsp;; ils doivent correspondre à la liste
d'arguments déclarés de la fonction. Quand le champ
<parameter>isint</parameter> d'une structure est vrai, la valeur de
<parameter>u.integer</parameter> est envoyée au serveur en tant qu'entier de
la longueur indiquée (qui doit être 2 ou 4 octets)&nbsp;; les bons échanges
d'octets se passent. Quand <parameter>isint</parameter> est faux, le nombre
d'octets indiqué sur <parameter>*u.ptr</parameter> est envoyé au
traitement&nbsp;; les données doivent être dans le format attendu par le
serveur pour la transmission binaire du type de données de l'argument de la
fonction. (La déclaration de <parameter>u.ptr</parameter> en tant que type
<type>int *</type> est historique&nbsp;; il serait préférable de la considérer
comme un <type>void *</type>.) <parameter>result_buf</parameter> pointe vers le
tampon dans lequel placer le code de retour de la fonction. L'appelant doit
avoir alloué suffisamment d'espace pour stocker le code de retour (il n'y a
pas de vérification&nbsp;!). La longueur actuelle du résultat en octet sera
renvoyé dans l'entier pointé par <parameter>result_len</parameter>. Si un
résultat sur un entier de 2 ou 4 octets est attendu, initialisez
<parameter>result_is_int</parameter> à 1, sinon initialisez-le à 0. Initialiser
<parameter>result_is_int</parameter> à 1 fait que
<application>libpq</application> échange les octets de la valeur si nécessaire,
de façon à ce que la bonne valeur <type>int</type> soit délivrée pour la
machine cliente&nbsp;; notez qu'un entier sur quatre octets est fourni dans
<parameter>*result_buf</parameter> pour la taille du résultat autorisé. Quand
<parameter>result_is_int</parameter> vaut 0, la chaîne d'octets au format
binaire envoyée par le serveur est renvoyée non modifiée. (Dans ce cas, il est
préférable de considérer <parameter>result_buf</parameter> comme étant du type
<type>void *</type>.)
</para>

<para>
Expand Down Expand Up @@ -4775,7 +4789,7 @@ le résultat une fois terminé.

<para>
La raison principale pour séparer cette fonction de
<function>PQmakeEmptyPGResult</function> est qu'il est souvent approprié
<function>PQmakeEmptyPGresult</function> est qu'il est souvent approprié
de créer un <structname>PGresult</structname> et de le remplir avec des
données avant d'appeler les procédures d'événement.
</para>
Expand Down
8 changes: 8 additions & 0 deletions postgresql/pgcrypto.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1185,6 +1185,14 @@
Si vous ne le pouvez pas, alors il est préférable de chiffrer directement
au sein de l'application client.
</para>

<para>
L'implémentation ne résiste pas à des <ulink
url="http://en.wikipedia.org/wiki/Side-channel_attack">attaques par canal
auxiliaire</ulink>. Par exemple, le temps requis pour terminer l'exécution
d'une fonction de déchiffrement de <filename>pgcrypto</filename> varie
suivant les texts de déchiffrement d'une certaine taille.
</para>
</sect3>

<sect3>
Expand Down
2 changes: 1 addition & 1 deletion postgresql/protocol.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1477,7 +1477,7 @@ Les commandes acceptées en mode walsender sont:
</term>
<listitem>
<para>
Emmplacement d'écriture courant des journaux de transactions.
Emmplacement de vidage courant des journaux de transactions.
Utile pour connaître un emplacement dans les journaux de
transactions à partir duquel le mode de réplication en flux peut
commencer.
Expand Down

0 comments on commit dc5681c

Please sign in to comment.