Skip to content

Commit

Permalink
Fichier config
Browse files Browse the repository at this point in the history
  • Loading branch information
gleu committed Oct 14, 2014
1 parent a500765 commit 5718cb7
Showing 1 changed file with 97 additions and 87 deletions.
184 changes: 97 additions & 87 deletions postgresql/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5881,82 +5881,87 @@ SET XML OPTION { DOCUMENT | CONTENT };
</sect2>

<sect2 id="runtime-config-client-preload">
<title>Shared Library Preloading</title>
<title>Préchargement de bibliothèques partagées</title>

<para>
Several settings are available for preloading shared libraries into the
server, in order to load additional functionality or achieve performance
benefits. For example, a setting of
<literal>'$libdir/mylib'</literal> would cause
<literal>mylib.so</literal> (or on some platforms,
<literal>mylib.sl</literal>) to be preloaded from the installation's standard
library directory. The differences between the settings are when they
take effect and what privileges are required to change them.
Plusieurs paramètres sont disponibles pour le préchargement de
bibliothèques partagées sur le serveur. Ces bibliothèques peuvent servir
à ajouter des fonctionnalités supplémentaires ou à améliorer les
performances. Par exemple, une configuration à
<literal>'$libdir/mabibliotheque'</literal> force le chargement de la
bibliothèque <literal>mabibliotheque.so</literal> (ou sur certaines
plateformes de <literal>mabibliotheque.sl</literal>) à partir du répertoire
standard d'installation. Les différences entre les paramètres concernent
la prise d'effet et les droits requis pour les modifier.
</para>

<para>
<productname>PostgreSQL</productname> procedural language libraries can
be preloaded in this way, typically by using the
syntax <literal>'$libdir/plXXX'</literal> where
<literal>XXX</literal> is <literal>pgsql</literal>, <literal>perl</literal>,
<literal>tcl</literal>, or <literal>python</literal>.
Les bibliothèques de procédures stockées pour <productname>PostgreSQL</productname>
peuvent être préchargées de cette façon, habituellement en utilisant la syntaxe
<literal>'$libdir/plXXX'</literal> où <literal>XXX</literal> est
<literal>pgsql</literal>, <literal>perl</literal>,
<literal>tcl</literal> ou <literal>python</literal>.
</para>

<para>
For each parameter, if more than one library is to be loaded, separate
their names with commas. All library names are converted to lower case
unless double-quoted.
Pour chaque paramètre, s'il faut charger plus d'une bibliothèque, il est
nécessaire de séparer leur noms avec des virgules. Tous les noms de
bibliothèques sont convertis en minuscule sauf s'ils sont entre des
guillemets doubles.
</para>

<para>
Only shared libraries specifically intended to be used with PostgreSQL
can be loaded this way. Every PostgreSQL-supported library has
a <quote>magic block</quote> that is checked to guarantee compatibility. For
this reason, non-PostgreSQL libraries cannot be loaded in this way. You
might be able to use operating-system facilities such
as <envar>LD_PRELOAD</envar> for that.
Seules les bibliothèques partagées spécifiquement codées pour PostgreSQL
peuvent être chargées de cette façon. Chaque bibliothèque supportée par
PostgreSQL a un <quote>bloc magique</quote> qui est vérifié pour garantir
sa comptabilité. De ce fait, les bibliothèques non compatibles avec
PostgreSQL ne peuvent pas être gérées ainsi. Vous devriez pouvoir utiliser
les capacités du système pour cela, tel que la variable d'environnement
<envar>LD_PRELOAD</envar>.
</para>

<para>
In general, refer to the documentation of a specific module for the
recommended way to load that module.
En général, il est préférable de se référer à la documentation d'un module
spécifique pour trouver le bon moyen permettant de charger le module.
</para>

<variablelist>
<varlistentry id="guc-local-preload-libraries" xreflabel="local_preload_libraries">
<term><varname>local_preload_libraries</varname> (<type>string</type>)
<indexterm>
<primary><varname>local_preload_libraries</varname> configuration parameter</primary>
<primary>paramètre de configuration <varname>local_preload_libraries</varname></primary>
</indexterm>
<indexterm>
<primary><filename>$libdir/plugins</filename></primary>
</indexterm>
</term>
<listitem>
<para>
This variable specifies one or more shared libraries that are to be
preloaded at connection start. This parameter cannot be changed after
the start of a particular session. If a specified library is not
found, the connection attempt will fail.
Cette variable précise une ou plusieurs bibliothèques partagées qu'il
faut charger au début d'une connexion. Ce paramètre ne peut pas être
modifié après le début d'une session particulière. Si une bibliothèque
spécifiée n'est pas trouvée, la tentative de connexion échoue.
</para>

<para>
This option can be set by any user. Because of that, the libraries
that can be loaded are restricted to those appearing in the
<filename>plugins</filename> subdirectory of the installation's
standard library directory. (It is the database administrator's
responsibility to ensure that only <quote>safe</quote> libraries
are installed there.) Entries in <varname>local_preload_libraries</varname>
can specify this directory explicitly, for example
<literal>$libdir/plugins/mylib</literal>, or just specify
the library name &mdash; <literal>mylib</literal> would have
the same effect as <literal>$libdir/plugins/mylib</literal>.
Cette option est configurable par tout utilisateur. De ce fait, les
bibliothèques pouvant être chargées sont restreintes à celles
disponibles dans le sous-répertoire <filename>plugins</filename> du
répertoire des bibliothèques de l'installation. C'est de la responsabilité
de l'administrateur de s'assurer que seules des bibliothèques
<quote>sûres</quote> y soient installées.) Les éléments de
<varname>local_preload_libraries</varname> peuvent indiquer ce répertoire
explicitement, par exemple
<literal>$libdir/plugins/mabibliotheque</literal>, ou indiquer seulement
le nom de la bibliothèque &mdash; <literal>mabibliotheque</literal>, ce
qui aurait le même effet que <literal>$libdir/plugins/mabibliotheque</literal>.
</para>

<para>
Unless a module is specifically designed to be used in this way by
non-superusers, this is usually not the right setting to use. Look
at <xref linkend="guc-session-preload-libraries"/> instead.
Sauf si un module est conçu spécifiquement pour être utilisé de cette
façon par des utilisateurs non administrateurs, ceci n'est pas le bon
paramétrage pour vous. Regardez plutôt <xref
linkend="guc-session-preload-libraries"/>.
</para>
</listitem>
</varlistentry>
Expand All @@ -5965,81 +5970,86 @@ SET XML OPTION { DOCUMENT | CONTENT };
<varlistentry id="guc-session-preload-libraries" xreflabel="session_preload_libraries">
<term><varname>session_preload_libraries</varname> (<type>string</type>)
<indexterm>
<primary><varname>session_preload_libraries</varname> configuration parameter</primary>
<primary>paramètre de configuration <varname>session_preload_libraries</varname></primary>
</indexterm>
</term>
<listitem>
<para>
This variable specifies one or more shared libraries that are to be
preloaded at connection start. Only superusers can change this setting.
The parameter value only takes effect at the start of the connection.
Subsequent changes have no effect. If a specified library is not
found, the connection attempt will fail.
Cette variable indique une ou plusieurs bibliothèques partagées chargées
au début de la connexion. Seuls les superutilisateurs peuvent modifier
la valeur de ce paramètre. La valeur de ce paramètre n'est pris en compte
qu'au début de la connexion. Les modifications ultérieures n'ont pas
d'effet sur les connexions déjà établies. Si une bibliothèque indiquée
est introuvable, la tentative de connexion échouera.
</para>

<para>
The intent of this feature is to allow debugging or
performance-measurement libraries to be loaded into specific sessions
without an explicit
<command>LOAD</command> command being given. For
example, <xref linkend="auto-explain"/> could be enabled for all
sessions under a given user name by setting this parameter
with <command>ALTER ROLE SET</command>. Also, this parameter can be changed
without restarting the server (but changes only take effect when a new
session is started), so it is easier to add new modules this way, even
if they should apply to all sessions.
Le but de cette fonctionnalité est de permettre le chargement de
bibliothèques de débuggage ou de mesure de performances dans des
sessions explicites sans avoir à exécuter manuellement une commande
<command>LOAD</command>. Par exemple, <xref linkend="auto-explain"/>
pourrait être activé pour toutes les sessions si un certain utilisateur
se connecte, en configurant son compte avec la commande <command>ALTER
ROLE SET</command>. De plus, ce paramètre peut être modifié sans avoir
à redémarrer le serveur (les changements ne prennent effet que pour les
connexions suivantes), donc il est plus facile d'ajouter de nouveaux
modules de cette façon, même s'ils s'appliquent à toutes les sessions.
</para>

<para>
Unlike <xref linkend="guc-shared-preload-libraries"/>, there is no large
performance advantage to loading a library at session start rather than
when it is first used. There is some advantage, however, when
connection pooling is used.
Contrairement à <xref linkend="guc-shared-preload-libraries"/>, il
n'y a pas vraiment un gros avantage en terme de performances à charger
une bibliothèque en début de session plutôt qu'à sa première utilisation.
Néanmoins, ceci n'est plus vrai si un système de pooling de connexions
est mis en place.
</para>
</listitem>
</varlistentry>

<varlistentry id="guc-shared-preload-libraries" xreflabel="shared_preload_libraries">
<term><varname>shared_preload_libraries</varname> (<type>string</type>)
<indexterm>
<primary><varname>shared_preload_libraries</varname> configuration parameter</primary>
<primary>paramètre de configuration <varname>shared_preload_libraries</varname></primary>
</indexterm>
</term>
<listitem>
<para>
This variable specifies one or more shared libraries to be preloaded at
server start. with commas. This parameter can only be set at server
start. If a specified library is not found, the server will fail to
start.
Cette variable indique une ou plusieurs bibliothèques partagées chargées
au démarrage du serveur. Ce paramètre n'est configurable qu'au démarrage
du serveur. Si une bibliothèque indiquée est introuvable, le serveur ne
pourra pas démarrer.
</para>

<para>
Some libraries need to perform certain operations that can only take
place at postmaster start, such as allocating shared memory, reserving
light-weight locks, or starting background workers. Those libraries
must be loaded at server start through this parameter. See the
documentation of each library for details.
Certaines bibliothèques ont besoin de réaliser certaines opérations qui
ne peuvent se faire qu'au démarrage du processus postmaster, comme allouer
de la mémoire partagée, réserver des verrous à faible poids, ou démarrer
des background workers. Ces bibliothèques doivent être chargées au
démarrage du serveur via ce paramètre. Voir la documentation de chaque
bibliothèque pour les détails.
</para>

<para>
Other libraries can also be preloaded. By preloading a shared library,
the library startup time is avoided when the library is first used.
However, the time to start each new server process might increase
slightly, even if that process never uses the library. So this
parameter is recommended only for libraries that will be used in most
sessions. Also, changing this parameter requires a server restart, so
this is not the right setting to use for short-term debugging tasks,
say. Use <xref linkend="guc-session-preload-libraries"/> for that
instead.
Les autres bibliothèques peuvent aussi être préchargées. En préchargeant
une bibliothèque partagée, le temps de démarrage de la bibliothèque est
évité lorsque la bibliothèque est utilisée pour la première fois.
Néanmoins, le temps de démarrer chaque nouveau processus serveur pourrait
augmenter légèrement, même si le processus n'utilise jamais cette
bibliothèque. Donc ce paramètre est seulement recommandé pour les
bibliothèques qui seront utilisées par la majorité des sessions. De plus,
changer ce paramètre requiert un redémarrage du serveur, donc ce n'est
pas le bon paramètre pour les taches de débuggage par exemple. Utilisez
<xref linkend="guc-session-preload-libraries"/> pour cela.
</para>

<note>
<para>
On Windows hosts, preloading a library at server start will not reduce
the time required to start each new server process; each server process
will re-load all preload libraries. However, <varname>shared_preload_libraries
</varname> is still useful on Windows hosts for libraries that need to
perform operations at postmaster start time.
Sur les hôtes Windows, précharger une bibliothèque au démarrage du serveur
ne réduira pas le temps nécessaire pour démarrer un nouveau processus
serveur. Chaque processus serveur rechargera toutes les bibliothèques
préchargées. Néanmoins, <varname>shared_preload_libraries</varname>
est toujous utile sur les hôtes Windows pour les bibliothèques qui ont
besoin de réaliser des opérations au démarrage du postmaster.
</para>
</note>
</listitem>
Expand Down

0 comments on commit 5718cb7

Please sign in to comment.