| 1 |
<?xml version="1.0" encoding="UTF-8"?> |
|---|
| 2 |
<!-- DerniÚre modification |
|---|
| 3 |
le $Date$ |
|---|
| 4 |
par $Author$ |
|---|
| 5 |
révision $Revision$ --> |
|---|
| 6 |
|
|---|
| 7 |
<refentry id="slon"> |
|---|
| 8 |
<refmeta> |
|---|
| 9 |
<refentrytitle id="app-slon-title"><application>slon</application></refentrytitle> |
|---|
| 10 |
<manvolnum>1</manvolnum> |
|---|
| 11 |
<refmiscinfo>Application</refmiscinfo> |
|---|
| 12 |
</refmeta> |
|---|
| 13 |
<refnamediv> |
|---|
| 14 |
<refname><application>slon</application></refname> |
|---|
| 15 |
<refpurpose> |
|---|
| 16 |
Le démon &slony1; |
|---|
| 17 |
</refpurpose> |
|---|
| 18 |
</refnamediv> |
|---|
| 19 |
|
|---|
| 20 |
<indexterm zone="slon"> |
|---|
| 21 |
<primary>slon</primary> |
|---|
| 22 |
</indexterm> |
|---|
| 23 |
|
|---|
| 24 |
<refsynopsisdiv> |
|---|
| 25 |
<cmdsynopsis> |
|---|
| 26 |
<command>slon</command> |
|---|
| 27 |
<arg rep="repeat"><replaceable class="parameter">option</replaceable></arg> |
|---|
| 28 |
<arg><replaceable class="parameter">clustername</replaceable></arg> |
|---|
| 29 |
<arg><replaceable class="parameter">conninfo</replaceable></arg> |
|---|
| 30 |
</cmdsynopsis> |
|---|
| 31 |
</refsynopsisdiv> |
|---|
| 32 |
|
|---|
| 33 |
<refsect1> |
|---|
| 34 |
<title>Description</title> |
|---|
| 35 |
<para><application>slon</application> est un démon applicatif qui |
|---|
| 36 |
<quote>contrÎle</quote> la réplication &slony1;. Une |
|---|
| 37 |
instance <application>slon</application> doit être lancée pour |
|---|
| 38 |
chaque noeud du cluster &slony1;.</para> |
|---|
| 39 |
</refsect1> |
|---|
| 40 |
|
|---|
| 41 |
<refsect1 id="r1-app-slon-3"> |
|---|
| 42 |
<title>Options</title> |
|---|
| 43 |
<variablelist> |
|---|
| 44 |
<varlistentry> |
|---|
| 45 |
<term><option>-d</option><replaceable class="parameter"> log_level</replaceable></term> |
|---|
| 46 |
<listitem> |
|---|
| 47 |
<para>Le paramÚtre <envar>log_level</envar> spécifie quel niveau de messages de debug |
|---|
| 48 |
<application>slon</application> doit afficher dans son journal d'activité.</para> |
|---|
| 49 |
<para id="nineloglevels">Il y a neuf niveaux de log : |
|---|
| 50 |
<itemizedlist> |
|---|
| 51 |
<listitem><para>Fatal</para></listitem> |
|---|
| 52 |
<listitem><para>Error</para></listitem> |
|---|
| 53 |
<listitem><para>Warn</para></listitem> |
|---|
| 54 |
<listitem><para>Config</para></listitem> |
|---|
| 55 |
<listitem><para>Info</para></listitem> |
|---|
| 56 |
<listitem><para>Debug1</para></listitem> |
|---|
| 57 |
<listitem><para>Debug2</para></listitem> |
|---|
| 58 |
<listitem><para>Debug3</para></listitem> |
|---|
| 59 |
<listitem><para>Debug4</para></listitem> |
|---|
| 60 |
</itemizedlist> |
|---|
| 61 |
</para> |
|---|
| 62 |
<para> Les cinq premiers niveau de log ( de Fatal à |
|---|
| 63 |
Info) sont <emphasis>toujours</emphasis> affichés dans les logs. |
|---|
| 64 |
Dans les premiÚres versions de &slony1;, le niveau de log |
|---|
| 65 |
<quote>suggéré</quote> était 2, ce qui affichait tous les messages |
|---|
| 66 |
jusqu'au niveau Debug2. Avec &slony1; version 2, il est |
|---|
| 67 |
recommandé de positionner <envar>log_level</envar> à 0; la |
|---|
| 68 |
pluspart des informations intéressantes sont produites à |
|---|
| 69 |
des niveaux supérieurs à celui-là .</para> |
|---|
| 70 |
</listitem> |
|---|
| 71 |
</varlistentry> |
|---|
| 72 |
<varlistentry> |
|---|
| 73 |
<term><option>-s</option><replaceable class="parameter"> Interval entre les vérifications SYNC</replaceable></term> |
|---|
| 74 |
<listitem> |
|---|
| 75 |
<para>Le paramÚtre <envar>sync_interval</envar>, exprimé en millisecondes, |
|---|
| 76 |
indique à quelle fréquence <application>slon</application> doit |
|---|
| 77 |
vérifier si un événement <command>SYNC</command> doit |
|---|
| 78 |
être produit. La valeur par défaut est 2000 ms. La boucle principale |
|---|
| 79 |
dans <function>sync_Thread_main()</function> est endormie pendant |
|---|
| 80 |
des intervalles de <envar>sync_interval</envar> millisecondes |
|---|
| 81 |
entre chaque itérations.</para> |
|---|
| 82 |
|
|---|
| 83 |
<para>Un intervalle de vérifications trÚs court garantit que le noeud |
|---|
| 84 |
origine soit <quote>trÚs suivi</quote>, car il met à jour les abonnés |
|---|
| 85 |
plus fréquemment. Si vous avez des séquences répliquées qui sont |
|---|
| 86 |
souvent mises à jour <emphasis>sans</emphasis> que certaines tables |
|---|
| 87 |
ne soient affectées, cela évite que des opérations qui mettent |
|---|
| 88 |
à jour uniquement ces séquences soient effectuées, et ainsi |
|---|
| 89 |
évite la génération d'événements de synchronisations.</para> |
|---|
| 90 |
|
|---|
| 91 |
<para>Si un noeud n'est pas l'origine d'un set de réplication, et donc qu'il |
|---|
| 92 |
ne reçoit aucune mise à jour des données répliquées, alors il est |
|---|
| 93 |
un peu inutile de mettre une valeur inférieure à celle du paramÚtre |
|---|
| 94 |
<envar>sync_interval_timeout</envar>.</para> |
|---|
| 95 |
</listitem> |
|---|
| 96 |
</varlistentry> |
|---|
| 97 |
<varlistentry> |
|---|
| 98 |
<term><option>-t</option><replaceable class="parameter">intervalle maximal entre deux SYNC</replaceable></term> |
|---|
| 99 |
<listitem> |
|---|
| 100 |
<para>A la fin de chaque période <envar>sync_interval_timeout</envar> |
|---|
| 101 |
, un événement <command>SYNC</command> est produit sur le noeud |
|---|
| 102 |
<quote>local</quote> même si il n'y eu aucune mise à jour des |
|---|
| 103 |
données répliquées et qu'aucun <command>SYNC</command> n'a été |
|---|
| 104 |
généré. </para> |
|---|
| 105 |
|
|---|
| 106 |
<para> Si l'activité de l'application s'arrête, soit parce que |
|---|
| 107 |
l'application a été éteinte, soit parce que les utilisateurs humains |
|---|
| 108 |
sont rentrés chez eux et arrêtés les mises à jour, alors le |
|---|
| 109 |
démon &lslon; continue de tourner et se réveille toutes les |
|---|
| 110 |
<envar>sync_interval</envar> millisecondes, et si aucune mise |
|---|
| 111 |
à jour ne s'est produite, alors aucun événement <command>SYNC</command> |
|---|
| 112 |
n'est généré. Sans ce paramÚtre <quote>timeout</quote>, |
|---|
| 113 |
<emphasis>aucun</emphasis> événement <command>SYNC</command> |
|---|
| 114 |
ne pourrait être produit, et cela entraînerait le chute du |
|---|
| 115 |
systÚme de réplication. </para> |
|---|
| 116 |
|
|---|
| 117 |
<para> Le paramÚtre <envar>sync_interval_timeout</envar> provoque |
|---|
| 118 |
la génération de <command>SYNC</command>, même si il n'y a pas |
|---|
| 119 |
réellement de travail de réplication a faire. Plus la valeur de |
|---|
| 120 |
cette paramÚtre est basse, plus les évÚnements <command>SYNC</command> |
|---|
| 121 |
lorsque l'application n'est pas active. Ceci a deux 2 effets :</para> |
|---|
| 122 |
<itemizedlist> |
|---|
| 123 |
<listitem> |
|---|
| 124 |
<para> Le systÚme aura plus de travail.</para> |
|---|
| 125 |
<para> ( Cependant puisque l'application n'utilise pas |
|---|
| 126 |
la base de données et qu'il n'y a pas de données à répliquer, |
|---|
| 127 |
la charge de travail supplémentaire sera assez simple à gérer.)</para> |
|---|
| 128 |
</listitem> |
|---|
| 129 |
<listitem> |
|---|
| 130 |
<para> La réplication sera tenue un peu plus <quote>à jour</quote>.</para> |
|---|
| 131 |
<para> ( Cependant puisqu'il n'y a pas de données à répliquer, être |
|---|
| 132 |
plus souvent <quote>mis à jour</quote> est un mirage.) </para> |
|---|
| 133 |
</listitem> |
|---|
| 134 |
</itemizedlist> |
|---|
| 135 |
<para>La valeur par défaut est 10000 ms et la valeur maximale est 120000 ms. |
|---|
| 136 |
Par défaut, vous pouvez prévoir que chaque noeud soit |
|---|
| 137 |
<quote>synchronisé</quote> par un <command>SYNC</command> toutes les 10 secondes.</para> |
|---|
| 138 |
<para>Notez que des événements <command>SYNC</command> sont aussi générés |
|---|
| 139 |
sur chaque noeud abonné. Cependant puisqu'ils ne contiennent |
|---|
| 140 |
de données à répliquer par les autres noeuds, les évÚnements |
|---|
| 141 |
<command>SYNC</command> des noeuds abonnés ne sont pas terriblement intéressant.</para> |
|---|
| 142 |
</listitem> |
|---|
| 143 |
</varlistentry> |
|---|
| 144 |
<varlistentry> |
|---|
| 145 |
<term><option>-g</option><replaceable class="parameter"> taille du groupe</replaceable></term> |
|---|
| 146 |
<listitem> |
|---|
| 147 |
<para>L'option <envar>sync_group_maxsize</envar> contrÃŽle la taille maximumale d'un groupe <command>SYNC</command>, |
|---|
| 148 |
. La valeur par défaut est 6. Ainsi, si un noeud particulier a |
|---|
| 149 |
200 événements <command>SYNC</command>s de retard, il essaiera de les regrouper |
|---|
| 150 |
par groupes dont la taille maximale sera <envar>sync_group_maxsize</envar>. |
|---|
| 151 |
Ceci doit permettre de réduire le temps de lantence au démarrage (NdT : "overhead") |
|---|
| 152 |
en réduisant le nombre de transactions à <quote>comitter</quote>.</para> |
|---|
| 153 |
<para>La valeur par défaut est 6 est probablement adéquate pour les petits systÚmes |
|---|
| 154 |
qui ne peuvent allouer que des quantités limitées de mémoire à |
|---|
| 155 |
<application>slon</application>. Si vous avez beaucoup de mémoire |
|---|
| 156 |
il est raisonnable d'augmenter cette valeur, car cela augmentera |
|---|
| 157 |
la quantité de travail réalisée à chaque transaction, et cela |
|---|
| 158 |
permettra a un noeud abonné de rattraper plus vite son retard.</para> |
|---|
| 159 |
<para>Les processus Slon sont souvent trÚs petits; même en cas |
|---|
| 160 |
de valeur trÚs forte pour cette option, <application>slon</application> |
|---|
| 161 |
devrait simplement grossir de quelques MB.</para> |
|---|
| 162 |
<para>Le gros avantage d'augmenter ce paramÚtre est que |
|---|
| 163 |
cela divise le nombre de transaction |
|---|
| 164 |
<command>COMMIT</command>s; passer de 1 to 2 aura probablement |
|---|
| 165 |
un impact considérable, mais le bénéfice se réduit progressivement |
|---|
| 166 |
lorsque la taille des groupes est suffisamment large. |
|---|
| 167 |
Il n'y aura probablement pas de différence notable entre 80 et 90. |
|---|
| 168 |
Rendu à ce niveau, l'augmentation de cette |
|---|
| 169 |
valeur dépend du fait que les grands ensembles de <command>SYNC</command>s |
|---|
| 170 |
perturbent les curseurs de <envar>LOG</envar> en consommant |
|---|
| 171 |
de plus en plus de mémoire et nécessitant plus d'efforts lors |
|---|
| 172 |
des tris.</para> |
|---|
| 173 |
<para>Dans &slony1; version 1.0, <application>slon</application> essaie |
|---|
| 174 |
toujours de regrouper un maximum de <command>SYNC</command>s ensemble |
|---|
| 175 |
, ce qui <emphasis>n'est pas</emphasis> idéal si la réplication |
|---|
| 176 |
a été déstabilisée par de grosses mises à jour ( <emphasis>par exemple |
|---|
| 177 |
</emphasis> : une transaction unique qui met à jour des centaines |
|---|
| 178 |
de milliers de lignes) ou lorsque les <command>SYNC</command>s |
|---|
| 179 |
ont été interrompus sur un noeud origine, ce qui fait |
|---|
| 180 |
que les suivants sont volumineux. Vous rencontrerez |
|---|
| 181 |
ce problÚme : en regroupant des <command>SYNC</command>s trÚs |
|---|
| 182 |
larges, le processus <application>slon</application> peut échouer. |
|---|
| 183 |
Au redémarrage, il essaie a nouveau de traiter ce large ensemble |
|---|
| 184 |
de <command>SYNC</command>s, et il retombe sur le même problÚme |
|---|
| 185 |
encore et encore jusqu'Ã ce qu'un administrateur interrompe tout cela |
|---|
| 186 |
et change la valeur de l'option <option>-g</option> pour |
|---|
| 187 |
sortir de cette situation d'<quote>inter-blocage</quote>.</para> |
|---|
| 188 |
<para>Au contraire Avec &slony1; version 1.0, le démon <application>slon</application> |
|---|
| 189 |
'adapte en augmentant <quote>progressivement</quote> le nombre de |
|---|
| 190 |
<command>SYNC</command> par groupe, de 1 jusqu'Ã la valeur maximale. |
|---|
| 191 |
Ainsi, si quelques <command>SYNC</command>s pausent problÚme, le démon |
|---|
| 192 |
<application>slon</application> pourra (avec s'il est surveillé par |
|---|
| 193 |
un processus chien de garde) traiter un par un ces évÚnements |
|---|
| 194 |
<command>SYNC</command>s problématique, et ainsi éviter l'intervention |
|---|
| 195 |
d'un administrateur.</para> |
|---|
| 196 |
</listitem> |
|---|
| 197 |
</varlistentry> |
|---|
| 198 |
<varlistentry> |
|---|
| 199 |
<term><option>-o</option><replaceable class="parameter"> temps de synchronisation souhaité</replaceable></term> |
|---|
| 200 |
<listitem> |
|---|
| 201 |
<para> La période <quote>maximale</quote> pour un groupe de <command>SYNC</command>s.</para> |
|---|
| 202 |
<para> Si la réplication est en retard, le démon slon va progressivement augmenter le |
|---|
| 203 |
nombre de <command>SYNC</command>s groupés ensemble, dans le but de |
|---|
| 204 |
ne pas dépasser le temps spécifié par <envar>desired_sync_time</envar>. |
|---|
| 205 |
(pour cela, Slon se base sur le temps pris par le |
|---|
| 206 |
<emphasis>dernier</emphasis> group de <command>SYNC</command>s).</para> |
|---|
| 207 |
<para> La valeur par défaut est 60000ms, c'est à dire une minute. </para> |
|---|
| 208 |
|
|---|
| 209 |
<para> Ainsi vous pouvez prévoir (en tout cas espérer ! ) |
|---|
| 210 |
que vous aurez un <command>COMMIT</command> environ |
|---|
| 211 |
toutes les minutes.</para> |
|---|
| 212 |
|
|---|
| 213 |
<para> Cela n'est pas <emphasis>complÚtement</emphasis> prévisible, |
|---|
| 214 |
car il est possible de demander une <emphasis>trÚs grosse mise à jour |
|---|
| 215 |
</emphasis>,qui fera <quote>exploser</quote> la taille du |
|---|
| 216 |
<command>SYNC</command>. Dans ce cas là , l'heuristique sera |
|---|
| 217 |
rétablie pour le <emphasis>prochain</emphasis> groupe.</para> |
|---|
| 218 |
|
|---|
| 219 |
<para> L'effet final est d'améliorer la façon dont |
|---|
| 220 |
<productname>Slony-I</productname> gÚre les variations |
|---|
| 221 |
du trafic. En commençant avec 1 événement <command>SYNC</command>, puis |
|---|
| 222 |
en augmentant progressivement, même si certaines variations seront |
|---|
| 223 |
assez grandes pour provoquer un crash du processus <productname>PostgreSQL</productname>, |
|---|
| 224 |
<productname>Slony-I</productname> redémarrera en traitant un seul <command>SYNC</command> |
|---|
| 225 |
à la fois, afin que poursuivre le processus de réplication autant que possible.</para> |
|---|
| 226 |
</listitem> |
|---|
| 227 |
</varlistentry> |
|---|
| 228 |
<varlistentry> |
|---|
| 229 |
<term><option>-c</option><replaceable class="parameter"> cycles de nettoyage</replaceable></term> |
|---|
| 230 |
<listitem> |
|---|
| 231 |
<para>La valeur <envar>vac_frequency</envar> indique la fréquence des opérations |
|---|
| 232 |
<command>VACUUM</command> lors des cycles de nettoyage.</para> |
|---|
| 233 |
<para>Positionner cette valeur à zéro pour désactiver les nettoyages |
|---|
| 234 |
initiés par <application>slon</application>. Si vous utilisés un |
|---|
| 235 |
mécanisme tel que <application>pg_autovacuum</application> pour |
|---|
| 236 |
lancer les vacuums, vous n'aurez probablement pas besoin que |
|---|
| 237 |
slon initie des vacuums de lui-même. Sinon, il existe des tables |
|---|
| 238 |
utilisées par <productname>Slony-I</productname> qui collectent |
|---|
| 239 |
<emphasis>beaucoup</emphasis> de tuples morts, et qui doivent |
|---|
| 240 |
être nettoyées fréquemment, en particulier &pglistener;.</para> |
|---|
| 241 |
<para> A partir de &slony1; version 1.1, cela change un peu; le processus |
|---|
| 242 |
de nettoyage cherche, d'itération en itération, l'identifiant |
|---|
| 243 |
de la plus ancienne transaction encore active dans le systÚme. |
|---|
| 244 |
Si l'identifiant ne change pas entre deux itérations, alors |
|---|
| 245 |
il existe une vieille transaction en activité, et donc un |
|---|
| 246 |
<command>VACUUM</command> n'apportera rien de bon. A la place, |
|---|
| 247 |
le processus de nettoyage déclenche simplement une opération <command>ANALYZE</command> |
|---|
| 248 |
sur ces tables afin de mettre à jours les statistiques dans <envar>pg_statistics</envar>.</para> |
|---|
| 249 |
</listitem> |
|---|
| 250 |
</varlistentry> |
|---|
| 251 |
<varlistentry> |
|---|
| 252 |
<term><option>-p</option><replaceable class="parameter"> fichier du PID </replaceable></term> |
|---|
| 253 |
<listitem> |
|---|
| 254 |
<para>La variable <envar>pid_file</envar> contient le nom du fichier dans lequel le PID |
|---|
| 255 |
(identifiant du processus) du démon <application>slon</application> est stocké.</para> |
|---|
| 256 |
<para>Cela simplifie la création de scripts de surveillance des processus |
|---|
| 257 |
<application>slon</application> qui s'exécute sur un hÎte.</para> |
|---|
| 258 |
</listitem> |
|---|
| 259 |
</varlistentry> |
|---|
| 260 |
<varlistentry> |
|---|
| 261 |
<term><option>-f</option><replaceable class="parameter"> fichier de configuration</replaceable></term> |
|---|
| 262 |
<listitem> |
|---|
| 263 |
<para>Fichier qui contient la configuration <application>slon</application>.</para> |
|---|
| 264 |
|
|---|
| 265 |
<para> La configuration configuration est détaillée plus loin dans le chapitre <link |
|---|
| 266 |
linkend="runtime-config">Configuration de Slon</link>. Si |
|---|
| 267 |
vous avez défini un ensemble complexe de paramÚtre, ou si vous ne voulez |
|---|
| 268 |
pas que les paramÚtres soient visibles dans les variable d'environnement |
|---|
| 269 |
( notamment les mots de passe ), il est plus pratique de placer une partie, |
|---|
| 270 |
voire l'ensemble des paramÚtres dans un fichier de configuration. |
|---|
| 271 |
Vous pouvez pouvez également placer les paramÚtres communs à tous les |
|---|
| 272 |
processus slon dans un fichier de configuration partagé et définir |
|---|
| 273 |
en ligne de commande d'autres paramÚtres que les informations de connexions. |
|---|
| 274 |
Vous pouvez aussi créer un fichier de configuration pour chaque noeud.</para> |
|---|
| 275 |
</listitem> |
|---|
| 276 |
</varlistentry> |
|---|
| 277 |
<varlistentry> |
|---|
| 278 |
<term><option>-a</option><replaceable class="parameter"> répertoire des archives</replaceable></term> |
|---|
| 279 |
<listitem> |
|---|
| 280 |
<para>L'option <envar>archive_dir</envar> indique le dossier dans lequel on |
|---|
| 281 |
place la séquence de fichiers archives contenant les événements <command>SYNC</command> |
|---|
| 282 |
utilisés en mode &logshiplink;.</para> |
|---|
| 283 |
</listitem> |
|---|
| 284 |
</varlistentry> |
|---|
| 285 |
<varlistentry> |
|---|
| 286 |
<term><option>-x</option><replaceable class="parameter"> commande à appliquer pour l'archivage des journaux</replaceable></term> |
|---|
| 287 |
<listitem> |
|---|
| 288 |
<para>Le paramÚtre <envar>command_on_logarchive</envar> indique la commande qui doit |
|---|
| 289 |
être exécutée à chaque fois qu'un fichier SYNC est correctement généré.</para> |
|---|
| 290 |
<para> Voir le chapitre <xref linkend="slon-config-command-on-logarchive"/> pour plus de détails.</para> |
|---|
| 291 |
</listitem> |
|---|
| 292 |
</varlistentry> |
|---|
| 293 |
<varlistentry> |
|---|
| 294 |
<term><option>-q</option><replaceable class="parameter"> quitter en fonction d'un fournisseur </replaceable></term> |
|---|
| 295 |
<listitem> |
|---|
| 296 |
<para>L'option <envar>quit_sync_provider</envar> indique quel processus fournisseur |
|---|
| 297 |
doit être surveiller afin d'arrêter la réplication aprÚs un événement donné. |
|---|
| 298 |
Ceci doit être utilisé conjointement avec l'option |
|---|
| 299 |
<option>-r</option> ci-dessous...</para> |
|---|
| 300 |
|
|---|
| 301 |
<para> Cela permet de stopper la réplication sur un processus <application>slon</application> |
|---|
| 302 |
aprÚs un certain point. </para> |
|---|
| 303 |
</listitem> |
|---|
| 304 |
</varlistentry> |
|---|
| 305 |
<varlistentry> |
|---|
| 306 |
<term><option>-r</option><replaceable class="parameter"> quitte aprÚs un numéro d'événement </replaceable></term> |
|---|
| 307 |
<listitem> |
|---|
| 308 |
<para>Le paramÚtre <envar>quit_sync_finalsync</envar> indique le numéro de l'événement |
|---|
| 309 |
aprÚs lequel un processus de réplication doit se terminer. |
|---|
| 310 |
Ceci doit être utilisé conjointement avec l'option |
|---|
| 311 |
<option>-q</option> ci-dessus...</para> |
|---|
| 312 |
</listitem> |
|---|
| 313 |
</varlistentry> |
|---|
| 314 |
<varlistentry> |
|---|
| 315 |
<term><option>-l</option><replaceable class="parameter"> interval de retard </replaceable></term> |
|---|
| 316 |
<listitem> |
|---|
| 317 |
<para>L'option <envar>lag_interval</envar> spécifie une valeur temporelle |
|---|
| 318 |
( en anglais ) telle que <command> 3 minutes </command>, <command> 4 hours </command> |
|---|
| 319 |
ou <command> 2 days </command> qui indique que le temps de retard qu'un noeud doit avoir |
|---|
| 320 |
par rapport à son fournisseur. Cela implique que les événements seront |
|---|
| 321 |
ignorés tant que leur age sera inférieur à cet intervalle.</para> |
|---|
| 322 |
|
|---|
| 323 |
<warning><para> Il y a un effet secondaire à ce retard; |
|---|
| 324 |
Les événements qui demande que tous les noeuds se synchronisent, |
|---|
| 325 |
notamment ceux qui sont produits lors d'une opération <xref linkend="stmtfailover"/> |
|---|
| 326 |
et d'un <xref linkend="stmtmoveset"/>, devront attendre pendant cet interval |
|---|
| 327 |
de temps.</para> |
|---|
| 328 |
|
|---|
| 329 |
<para> C'est un comportement qui n'est pas idéal dans le cas d'une bascule |
|---|
| 330 |
aprÚs une panne, ou lorsque l'on veut exécuter des scripts DDL ( <xref |
|---|
| 331 |
linkend="stmtddlscript"/> ). </para> |
|---|
| 332 |
</warning> |
|---|
| 333 |
</listitem> |
|---|
| 334 |
</varlistentry> |
|---|
| 335 |
</variablelist> |
|---|
| 336 |
</refsect1> |
|---|
| 337 |
<refsect1> |
|---|
| 338 |
<title>Valeur de retour ( "Exit Status" ) </title> |
|---|
| 339 |
<para><application>slon</application> renvoie 0 dans le shell si il s'est terminé |
|---|
| 340 |
normalement. En cas d'erreur fatale, il exécute la fonction <function>exit(-1)</function> |
|---|
| 341 |
( qui envoie en général un valeur de retour de 127 ou 255, suivant votre systÚme d'exploitation ).</para> |
|---|
| 342 |
</refsect1> |
|---|
| 343 |
</refentry> |
|---|