Skip to content

Commit

Permalink
Mise à jour en version 9.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
gleu committed Sep 28, 2016
1 parent b078fe1 commit 6a4a19c
Show file tree
Hide file tree
Showing 17 changed files with 785 additions and 133 deletions.
16 changes: 14 additions & 2 deletions postgresql/catalogs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7958,6 +7958,11 @@
<productname>PostgreSQL</productname>.
</para>

<para>
Par défaut, la vue <structname>pg_config</structname> peut seulement être
lue par des superutilisateurs.
</para>

<table>
<title>Colonnes de <structname>pg_config</structname></title>
<tgroup cols="3">
Expand Down Expand Up @@ -8137,8 +8142,8 @@
</para>

<para>
La vue <structname>pg_file_settings</structname> peut être seulement
lue par les superutilisateurs.
Par défaut, la vue <structname>pg_file_settings</structname> peut être
seulement lue par les superutilisateurs.
</para>

<table>
Expand Down Expand Up @@ -10298,6 +10303,13 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
</tgroup>
</table>

<para>
Bien que la plupart des abréviations de fuseau horaire représentent des
décalages fixes d'UTC, certains décalages ont variés dans l'histoire (voir
<xref linkend="datetime-config-files"> pour plus d'informations). Pour ces
cas, cette vue présente leur signification actuelle.
</para>

</sect1>

<sect1 id="view-pg-timezone-names">
Expand Down
7 changes: 6 additions & 1 deletion postgresql/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2129,6 +2129,11 @@ block : bloc vidé, dirty bloc : bloc à vider ?
fois plus de CPU, de mémoire, de bande passante disque, et ainsi de suite
qu'une requête non parallélisée.
</para>

<para>
Pour plus d'informations sur les requêtes parallélisées, voir <xref
linkend="parallel-query"/>.
</para>
</listitem>
</varlistentry>

Expand Down Expand Up @@ -2760,7 +2765,7 @@ block : bloc vidé, dirty bloc : bloc à vider ?
</indexterm>
<para>
Temps maximum entre deux points de vérification automatique des WAL, en
secondes. L'intervalle valide se situe entre 30 secondes et une heure. La
secondes. L'intervalle valide se situe entre 30 secondes et un jour. La
valeur par défaut est de cinq minutes. Augmenter ce paramètre peut
accroitre le temps nécessaire à une récupération après un arrêt brutal.
Ce paramètre ne peut être configuré que dans le fichier
Expand Down
46 changes: 33 additions & 13 deletions postgresql/datetime.xml
Original file line number Diff line number Diff line change
Expand Up @@ -403,21 +403,41 @@

<para>
Un <replaceable>abréviation_fuseau_horaire</replaceable> n'est que
l'abréviation définie. Le <replaceable>décalage</replaceable> est le
décalage en secondes à partir d'UTC, une valeur positive signifiant à
l'est de Greenwich, une valeur négative à l'ouest. Ainsi, -18000
représente cinq heures à l'ouest de Greenwich, soit l'heure standard de
la côte ouest nord américaine. <literal>D</literal> indique que le nom du
fuseau représente une heure soumise à des règles de changement d'heure
plutôt que l'heure standard. Sinon, un
<replaceable>nom_fuseau_horaire</replaceable> peut être indiqué, auquel cas
la définition du fuseau horaire est consultée, et la signification de
l'abréviation dans cette zone est utilisée. Cette alternative n'est recommandé
que pour les abréviations dont la signification a varié dans le temps, car
rechercher la signification est bien plus coûteux que d'utiliser une valeur
entière corrigée.
l'abréviation définie. Le <replaceable>décalage</replaceable> est un entier
donner le décalage en secondes à partir d'UTC, une valeur positive
signifiant à l'est de Greenwich, une valeur négative à l'ouest. Ainsi,
-18000 représente cinq heures à l'ouest de Greenwich, soit l'heure standard
de la côte ouest nord américaine. <literal>D</literal> indique que le nom
du fuseau représente une heure soumise à des règles de changement d'heure
plutôt que l'heure standard.
</para>

<para>
Autrement, un <replaceable>nom_fuseau_horaire</replaceable> peut être
indiqué, référençant un nom de fuseau horaire défini dans la base de
données IANA. La définition du fuseau est consultée pour voir si
l'abréviation est ou était utilisée pour ce fuseau et, si c'est bien le
cas, la signification appropriée est utilisée &mdash; la signification qui
était utilisée pour l'horodatage dont la valeur était en cours de
détermination ou la signification utilisée immédiatement avant ça si elle
n'était pas actuelle à ce moment, ou la signification la plus ancienne si
elle était utilisée seulement après ce moment. Ce comportement est
essentiel pour gérer les abréviations dont la signification a varié dans
l'histoire. Il est aussi permis de définir une abréviation en terme de nom
de fuseau horaire pour lequel cette abréviation n'apparaît pas&nbsp;; alors
utiliser l'abréviation est équivalent à écrire le nom du fuseau horaire.
</para>

<tip>
<para>
Utiliser un entier simple pour le <replaceable>décalage</replaceable> est
préféré lors de la définition d'une abréviation dont le décalage à partir
d'UTC n'a jamais changé, car ce type d'abréviation est bien moins coûteuse
à traiter que celles qui réclament de consulter la définition du fuseau
horaire.
</para>
</tip>

<para>
La syntaxe <literal>@INCLUDE</literal> autorise l'inclusion d'autres fichiers
du répertoire <filename>.../share/timezonesets/</filename>. Les inclusions
Expand Down
40 changes: 20 additions & 20 deletions postgresql/ddl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1625,7 +1625,7 @@ CREATE POLICY compte_admins ON comptes TO admins

<programlisting>
CREATE POLICY police_utilisateur ON utilisateurs
USING (utilisateur = current_user);
USING (user_name = current_user);
</programlisting>

<para>
Expand All @@ -1640,7 +1640,7 @@ CREATE POLICY police_utilisateur ON utilisateurs
<programlisting>
CREATE POLICY police_utilisateur ON utilisateurs
USING (true)
WITH CHECK (utilisateur = current_user);
WITH CHECK (user_name = current_user);
</programlisting>

<para>
Expand All @@ -1662,7 +1662,7 @@ CREATE POLICY police_utilisateur ON utilisateurs
<programlisting>
-- Simple exemple basée sur le fichier passwd
CREATE TABLE passwd (
username text UNIQUE NOT NULL,
user_name text UNIQUE NOT NULL,
pwhash text,
uid int PRIMARY KEY,
gid int NOT NULL,
Expand Down Expand Up @@ -1696,17 +1696,17 @@ CREATE POLICY all_view ON passwd FOR SELECT USING (true);
-- Les utilisateurs normaux peuvent mettre à jour leurs propres lignes,
-- tout en limitant les shells qu'ils peuvent choisir
CREATE POLICY user_mod ON passwd FOR UPDATE
USING (current_user = username)
USING (current_user = user_name)
WITH CHECK (
current_user = username AND
current_user = user_name AND
shell IN ('/bin/bash','/bin/sh','/bin/dash','/bin/zsh','/bin/tcsh')
);

-- Donner à admin tous les droits normaux
GRANT SELECT, INSERT, UPDATE, DELETE ON passwd TO admin;
-- Les utilisateurs ne peuvent que sélectionner des colonnes publiques
GRANT SELECT
(username, uid, gid, real_name, home_phone, extra_info, home_dir, shell)
(user_name, uid, gid, real_name, home_phone, extra_info, home_dir, shell)
ON passwd TO public;
-- Autoriser les utilisateurs à mettre à jour certaines colonnes
GRANT UPDATE
Expand All @@ -1726,38 +1726,38 @@ GRANT UPDATE
postgres=&gt; set role admin;
SET
postgres=&gt; table passwd;
username | pwhash | uid | gid | real_name | home_phone | extra_info | home_dir | shell
----------+--------+-----+-----+-----------+--------------+------------+-------------+-----------
admin | xxx | 0 | 0 | Admin | 111-222-3333 | | /root | /bin/dash
bob | xxx | 1 | 1 | Bob | 123-456-7890 | | /home/bob | /bin/zsh
alice | xxx | 2 | 1 | Alice | 098-765-4321 | | /home/alice | /bin/zsh
user_name | pwhash | uid | gid | real_name | home_phone | extra_info | home_dir | shell
-----------+--------+-----+-----+-----------+--------------+------------+-------------+-----------
admin | xxx | 0 | 0 | Admin | 111-222-3333 | | /root | /bin/dash
bob | xxx | 1 | 1 | Bob | 123-456-7890 | | /home/bob | /bin/zsh
alice | xxx | 2 | 1 | Alice | 098-765-4321 | | /home/alice | /bin/zsh
(3 rows)

-- Tester ce que Alice est capable de faire:
postgres=&gt; set role alice;
SET
postgres=&gt; table passwd;
ERROR: permission denied for relation passwd
postgres=&gt; select username,real_name,home_phone,extra_info,home_dir,shell from passwd;
username | real_name | home_phone | extra_info | home_dir | shell
----------+-----------+--------------+------------+-------------+-----------
admin | Admin | 111-222-3333 | | /root | /bin/dash
bob | Bob | 123-456-7890 | | /home/bob | /bin/zsh
alice | Alice | 098-765-4321 | | /home/alice | /bin/zsh
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
-----------+-----------+--------------+------------+-------------+-----------
admin | Admin | 111-222-3333 | | /root | /bin/dash
bob | Bob | 123-456-7890 | | /home/bob | /bin/zsh
alice | Alice | 098-765-4321 | | /home/alice | /bin/zsh
(3 rows)

postgres=&gt; update passwd set username = 'joe';
postgres=&gt; update passwd set user_name = 'joe';
ERROR: permission denied for relation 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
postgres=&gt; update passwd set real_name = 'John Doe' where username = 'admin';
postgres=&gt; update passwd set real_name = 'John Doe' where user_name = 'admin';
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
postgres=&gt; insert into passwd (username) values ('xxx');
postgres=&gt; insert into passwd (user_name) values ('xxx');
ERROR: permission denied for relation 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';
Expand Down
51 changes: 32 additions & 19 deletions postgresql/extend.xml
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,11 @@
le cas d'une fonction), il faut garder en tête que cette modification ne sera pas sauvegardée
par l'outil <application>pg_dump</application>. Une telle modification n'est en pratique raisonnable
que si vous modifiez parallèlement le fichier de script de l'extension. Il existe toutefois des
cas particuliers comme celui des tables qui contiennent des données de configuration (voir ci-dessous).
cas particuliers comme celui des tables qui contiennent des données de
configuration (voir <xref linkend="extend-extensions-config-tables"/>.)
Dans les situations de production, il est généralement préférable de créer
un script de mise à jour de l'extension pour réaliser les modifications sur
les objets membres de l'extension.
</para>

<para>
Expand Down Expand Up @@ -457,9 +461,12 @@
<term><varname>comment</varname> (<type>string</type>)</term>
<listitem>
<para>
Un commentaire de type chaîne de caractère au sujet de l'extension. Une alternative
consiste à utiliser la commande <xref linkend="sql-comment"/> dans
le script de l'extension.
Un commentaire de type chaîne de caractère au sujet de l'extension. Le
commentaire est appliqué à la création de l'extension, mais pas pendant
les mises à jour de cette extension (car cela pourrait écraser des
commentaires ajoutés par l'utilisateur). Une alternative consiste à
utiliser la commande <xref linkend="sql-comment"/> dans le script de
l'extension.
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -521,7 +528,8 @@
s'il est possible de déplacer les objets qu'elle contient dans un schéma différent
de celui attribué initialement par l'extension. La valeur par défaut est à
<literal>false</literal>, ce qui signifie que l'extension n'est pas déplaçable.
Voir ci-dessous pour des informations complémentaires.
Voir <xref linkend="extend-extensions-relocation"/> pour des
informations complémentaires.
</para>
</listitem>
</varlistentry>
Expand All @@ -530,9 +538,12 @@
<term><varname>schema</varname> (<type>string</type>)</term>
<listitem>
<para>
Ce paramètre ne peut être spécifié que pour les extensions non déplaçables.
Il permet de forcer l'extension à charger ses objets dans le schéma spécifié
et aucun autre. Voir ci-dessous pour des informations complémentaires.
Ce paramètre ne peut être spécifié que pour les extensions non
déplaçables. Il permet de forcer l'extension à charger ses objets dans
le schéma spécifié et aucun autre. Le paramètre
<varname>schema</varname> est uniquement consulté lors de la création
initiale de l'extension, pas pendant ses mises à jour. Voir <xref
linkend="extend-extensions-relocation"/> pour plus d'informations.
</para>
</listitem>
</varlistentry>
Expand All @@ -559,14 +570,16 @@
</para>

<para>
An extension's <acronym>SQL</acronym> script files can also contain lines
beginning with <literal>\echo</literal>, which will be ignored (treated as
comments) by the extension mechanism. This provision is commonly used
to throw an error if the script file is fed to <application>psql</application>
rather than being loaded via <command>CREATE EXTENSION</command> (see example
script below). Without that, users might accidentally load the
extension's contents as <quote>loose</quote> objects rather than as an
extension, a state of affairs that's a bit tedious to recover from.
Les scripts <acronym>SQL</acronym> d'une extension peuvent aussi contenir
des lignes commençant par <literal>\echo</literal>, qui seront ignorées
(traitées comme des commentaires) par le mécanisme d'extension. Ceci est
souvent utilisé pour renvoyer une erreur si le script est passé à
<application>psql</application> plutôt qu'exécuter par <command>CREATE
EXTENSION</command> (voir un script d'exemple dans <xref
linkend="extend-extensions-example"/>). Sans cela, les utilisateurs
pourraient charger accidentellement le contenu de l'extension sous la
forme d'objets <quote>autonomes</quote> plutôt que faisant partie d'une
extension, ce qui est assez pénible à corriger.
</para>

<para>
Expand All @@ -582,7 +595,7 @@

</sect2>

<sect2>
<sect2 id="extend-extensions-relocation">
<title>Possibilités concernant le déplacement des extensions</title>

<para>
Expand Down Expand Up @@ -676,7 +689,7 @@ SET LOCAL search_path TO @extschema@;
</para>
</sect2>

<sect2>
<sect2 id="extend-extensions-config-tables">
<title>Tables de configuration des extensions</title>

<para>
Expand Down Expand Up @@ -871,7 +884,7 @@ SELECT * FROM pg_extension_update_paths('<replaceable>extension_name</replaceabl
</para>
</sect2>

<sect2>
<sect2 id="extend-extensions-example">
<title>Exemples d'extensions</title>

<para>
Expand Down
1 change: 1 addition & 0 deletions postgresql/filelist.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
<!ENTITY indices SYSTEM "indices.xml">
<!ENTITY json SYSTEM "json.xml">
<!ENTITY mvcc SYSTEM "mvcc.xml">
<!ENTITY parallel SYSTEM "parallel.xml">
<!ENTITY perform SYSTEM "perform.xml">
<!ENTITY queries SYSTEM "queries.xml">
<!ENTITY rangetypes SYSTEM "rangetypes.xml">
Expand Down
33 changes: 31 additions & 2 deletions postgresql/func.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8584,12 +8584,12 @@ CREATE TYPE couleurs AS ENUM ('rouge', 'orange', 'jaune', 'vert', 'bleu', 'viole
<row>
<entry><literal>#</literal> </entry>
<entry>Point ou boîte d'intersection</entry>
<entry><literal>'((1,-1),(-1,1))' # '((1,1),(-1,-1))'</literal></entry>
<entry><literal>box '((1,-1),(-1,1))' # box '((1,1),(-2,-2))'</literal></entry>
</row>
<row>
<entry><literal>#</literal> </entry>
<entry>Nombre de points dans le chemin ou le polygone</entry>
<entry><literal># '((1,0),(0,1),(-1,0))'</literal></entry>
<entry><literal># path '((1,0),(0,1),(-1,0))'</literal></entry>
</row>
<row>
<entry><literal>@-@</literal> </entry>
Expand Down Expand Up @@ -16275,6 +16275,21 @@ SELECT * FROM pg_ls_dir('.') WITH ORDINALITY AS t(ls,n);
<parameter>privilège</parameter> sur
<parameter>tablespace</parameter></entry>
</row>
<row>
<entry><literal><function>has_type_privilege</function>(<parameter>user</parameter>,
<parameter>type</parameter>,
<parameter>privilege</parameter>)</literal>
</entry>
<entry><type>boolean</type></entry>
<entry>l'utilisateur a-t-il des droits pour le type</entry>
</row>
<row>
<entry><literal><function>has_type_privilege</function>(<parameter>type</parameter>,
<parameter>privilege</parameter>)</literal>
</entry>
<entry><type>boolean</type></entry>
<entry>l'utilisateur courant a-t-il des droits pour le type</entry>
</row>
<row>
<entry><literal><function>pg_has_role</function>(<parameter>utilisateur</parameter>,
<parameter>rôle</parameter>,
Expand Down Expand Up @@ -16337,6 +16352,9 @@ SELECT * FROM pg_ls_dir('.') WITH ORDINALITY AS t(ls,n);
<indexterm>
<primary>has_tablespace_privilege</primary>
</indexterm>
<indexterm>
<primary>has_type_privilege</primary>
</indexterm>
<indexterm>
<primary>pg_has_role</primary>
</indexterm>
Expand Down Expand Up @@ -16470,6 +16488,17 @@ SELECT has_function_privilege('joeuser', 'myfunc(int, text)', 'execute');
Le seul privilège possible est <literal>CREATE</literal>.
</para>

<para>
<function>has_type_privilege</function> vérifie si un utilisateur
peut accéder un type d'une façon particulière. Les possibilités au
niveau des arguments sont analogues à
<function>has_table_privilege</function>. Quand un type est spécifié
par une chaîne de caractères plutôt que par un OID, l'entrée
autorisée est la même que pour le type de données
<type>regtype</type> (voir <xref linkend="datatype-oid"/>). Le type
de privilèe souhaité doit être <literal>USAGE</literal>.
</para>

<para>
<function>pg_has_role</function> vérifie si l'utilisateur possède
un privilège particulier d'accès à un rôle. Ses arguments sont
Expand Down

0 comments on commit 6a4a19c

Please sign in to comment.