root/traduc/trunk/slony/prerequisites.xml

Revision 1173, 14.7 kB (checked in by gleu, 3 weeks ago)

Modifications pour permettre la génération du manuel.
Patch de Christophe Bouchet, avec quelques modifications supplémentaires de ma
part.
Cependant, il reste encore du travail pour avoir une génération parfaite.

Line 
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- DerniÚre modification
3         le       $Date$
4         par      $Author$
5         révision $Revision$ -->
6
7 <sect1 id="requirements">
8         <title>Pré requis systÚme</title>
9
10         <para>
11                 N'importe quelle plate forme capable de faire tourner
12                 &postgres;
13                 devrait être capable, en principe, de faire tourner
14                 &slony1;.
15         </para>
16
17         <indexterm>
18                 <primary>
19                         plates formes sur lesquelles
20                         &slony1;
21                         tourne
22                 </primary>
23         </indexterm>
24
25         <para>
26                 Les plates formes ayant été testées spécifiquement à ce jour pour cette release
27                 sont FreeBSD-4X-i368, FreeBSD-5X-i386,FreeBSD-5X-alpha, OS-X-10.3,
28                 Linux-2.4X-i386 Linux-2.6X-i386, Linux-2.6X-amd64,
29                 <trademark>Solaris</trademark>
30                 -2.8-SPARC,
31                 <trademark>Solaris</trademark>
32                 -2.9-SPARC, AIX 5.1, OpenBSD-3.5-sparc64 et
33                 &windows;
34                 2000, XP et 2003 (32 bit).
35         </para>
36
37         <sect2>
38                 <title>
39                         &slony1;
40                         Dépendances logicielles
41                 </title>
42
43                 <indexterm>
44                         <primary>Dépendances logicielles</primary>
45                 </indexterm>
46
47                 <para>
48                         A ce jour,
49                         &slony1;
50                         <emphasis>
51                                 de la même façon que
52                                 &postgres;
53                         </emphasis>
54                         nécessite d'être compilé depuis ses sources sur votre site.
55                 </para>
56
57                 <para>
58                         Afin de compiler
59                         &slony1;, vous avez besoin des outils suivants :
60
61                         <itemizedlist>
62                                 <listitem>
63                                         <para>
64                                                 GNU make. Les autres programmes make ne fonctionnent pas. GNU
65                                                 make est souvent installé sous le nom de
66                                                 <command>gmake</command>
67                                                 ; qui sera référencé sous ce nom tout au long de ce document. (Sur les systÚmes linux, GNU
68                                                 make est le make par defaut, et se nomme
69                                                 <command>make</command>
70                                                 ) Pour tester si votre make est GNU make entrez
71                                                 <command>make version</command>
72                                                 . La version 3.76 ou supérieure convient; les versions antérieures ne conviennent pas.
73                                         </para>
74                                 </listitem>
75
76                                 <listitem>
77                                         <para>
78                                                 Vous avez besoin du compilateur C ISO/ANSI. Les versions
79                                                 récentes de
80                                                 <application>GCC</application>
81                                                 fonctionnent.
82                                         </para>
83                                 </listitem>
84
85                                 <listitem>
86                                         <para>
87                                                 Vous avez également besoin d'une version                               
88                                                 <emphasis>source</emphasis>
89                                                 récente de &postgres;.
90                                                 &slony1;
91                                                 dépend du support namespace, nécessitant une
92                                                 version 7.3.3 de
93                                                 &postgres;
94                                                 ou plus récente pour pouvoir compiler et utiliser
95                                                 &slony1;.
96                                         </para>
97
98                                         <para>
99                                                 Les versions antérieures de
100                                                 &postgres;
101                                                 <emphasis>ne sont pas</emphasis>
102                                                 supportées, mais notez qu'un utilisateur a
103                                                 <quote>forcé</quote>
104                                                 l'utilisation de &slony1;
105                                                 dans le cadre d'une migration d'une version 7.2 vers une version 7.4; voir
106                                                 <link linkend="v72upgrade">
107                                                         &postgres;
108                                                         7.2 notes
109                                                 </link>
110                                                 .
111                                         </para>
112
113                                         <para>
114                                                 Les versions de
115                                                 &postgres;
116                                                 antérieures à la 7.4.8 peuvent rencontrer une requête sans fin
117                                                 conduisant à un problÚme de
118                                                 <link linkend="dupkey">
119                                                         <quote>duplicate keys</quote>
120                                                 </link>
121                                                 , vous devrez alors envisager une mise à jour pour éviter ce type d'erreur.
122                                         </para>
123
124                                         <para>
125                                                 Si vous utiliser une version de
126                                                 &postgres;
127                                                 antérieure à la version 8.0, vous devez vous assurer que
128                                                 les fichiers d'en-tête de serveur sont installés. Si
129                                                 vous installez depuis les sources, cela se fait par la
130                                                 commande
131                                                 <command>make install-all-headers</command>
132                                                 . Sinon, vous rencontrerez le problÚme
133                                                 <link linkend="missingheaders">
134                                                         missing headers for libpqserver
135                                                 </link>
136                                                 décrit dans le FAQ.
137                                         </para>
138
139                                         <para>
140                                                 Si vous utilisez les versions 8.1.0 à 8.1.3,
141                                                 un bug (corrigé en 8.1.4) empêche la fonction
142                                                 <xref linkend="stmtupdatefunctions" />
143                                                 de s'exécuter correctement. Pour plus de détails, voir
144                                                 <xref linkend="faq" />
145                                                 ,
146                                                 <link linkend="pg81funs">
147                
148                                                         &postgres;
149                                                         8.1.[0-3]
150                                                 </link>
151                                                 .
152                                         </para>
153
154                                 </listitem>
155
156                                 <listitem>
157                                         <para>
158                                                 Les packages GNU peuvent être inclus dans le packaging standard
159                                                 de votre systÚme d'exploitation, ou doivent être recherchés sur votre
160                                                 miroir local GNU (voir
161                                                 <ulink
162                                                         url="http://www.gnu.org/order/ftp.html">
163                                                         http://www.gnu.org/order/ftp.html
164                                                 </ulink>
165                                                 pour une liste) ou
166                                                 <ulink url="ftp://ftp.gnu.org/gnu">
167                                                         ftp://ftp.gnu.org/gnu
168                                                 </ulink>
169                                                 .)
170                                         </para>
171                                 </listitem>
172
173                                 <listitem>
174                                         <para>
175                                                 Si vous devez obtenir les sources
176                                                 &postgres;
177                                                 , vous pouvez les télécharger depuis votre miroir
178                                                 &postgres;
179                                                 favori. Voir
180                                                 <ulink
181                                                         url="http://www.postgresql.org/mirrors-www.html">
182                                                         http://www.postgresql.org/mirrors-www.html
183                                                 </ulink>
184                                                 pour une liste.
185                                         </para>
186                                 </listitem>
187
188                                 <listitem>
189                                         <para>
190                                                 Cette documentation est écrite en SGML avec
191                                                 <ulink url="http://docbook.com/">DocBook</ulink>
192                                                 , et peut être traduite dans de nombreux formats
193                                                 incluant le HTML, le RTF, et le PDF en utilisant des outils
194                                                 <ulink url="http://docbook.sourceforge.net/">
195                                                         dans le repository DocBook
196                                                 </ulink>
197                                                 avec
198                                                 <ulink url="http://openjade.sourceforge.net/">
199                                                         OpenJade.
200                                                 </ulink>
201                                         </para>
202                                 </listitem>
203
204                                 <listitem>
205                                         <para>
206                                                 Sous
207                                                 &windows;
208                                                 aurez aussi besoin de la boîte à outils
209                                                 <ulink
210                                                         url="http://www.postgresql.org/docs/faqs.FAQ_MINGW.html">
211                                                         MinGW/Msys
212                                                 </ulink>
213                                                 pour compiler les versions 8.0 et supérieures de
214                                                 &postgres;
215                                                 . De plus, vous devez installer
216                                                 <ulink
217                                                         url="http://sourceware.org/pthreads-win32/">
218                                                         pthreads-win32 2.x
219                                                 </ulink>
220                                                 .
221                                         </para>
222                                 </listitem>
223
224                         </itemizedlist>
225                 </para>
226
227                 <para>
228                         Assurez-vous de disposer de suffisamment d'espace libre. Vous
229                         aurez besoin d'environ 5MB pour la distribution des sources pendant la compilation
230                         et l'installation.
231                 </para>
232
233                 <note>
234                         <para>
235                                 Dans la version 1.1 de
236                                 &slony1;
237                                 , il est possible de compiler
238                                 &slony1;
239                                 séparemment de
240                                 &postgres;, rendant libres les distributions
241                                 <productname>Linux</productname>
242                                 et
243                                 <productname>FreeBSD</productname>
244                                 d'inclure des packages binaires précompilés pour
245                                 &slony1;. Si de tels packages ne sont pas disponibles, vous devez
246                                 vous préparer à compiler
247                                 &slony1;
248                                 par vous-même.
249                         </para>
250                 </note>
251         </sect2>
252
253         <sect2>
254                 <title>
255                         Obtenir les sources de
256                         &slony1;
257                 </title>
258
259                 <indexterm>
260                         <primary>
261                                 téléchargement des sources de
262                                 &slony1;
263                         </primary>
264                 </indexterm>
265
266                 <para>
267                         Vous pouvez obtenir les sources de
268                         &slony1;
269                         à partir de l'url
270                         <ulink url="http://main.slony.info/downloads/">
271                                 http://main.slony.info/downloads/
272                         </ulink>
273                 </para>
274
275         </sect2>
276
277         <sect2 id="encoding">
278                 <title>Encodage base de données</title>
279
280                 <indexterm>
281                         <primary>Encodage base de données</primary>
282                 </indexterm>
283
284                 <para>
285                        
286                         Les bases de données &postgres; peuvent être créés avec plusieurs types d'encodage,
287                         défini par la commande
288                         <command>
289                                 createdb --encoding=$ENCODING databasename
290                         </command>
291                         .
292                         &slony1;
293                         suppose que les bases de données utilisent des encodages
294                         <emphasis>identiques.</emphasis>
295                 </para>
296
297                 <para>
298                         Des encodages
299                         <quote>trÚs proches</quote>
300                         peuvent ne provoquer aucun problÚme.
301                         Par exemple, si le systÚme d'origine utilise
302                         <envar>LATIN1</envar>
303                         et un abonné
304                         <envar>SQL_ASCII</envar>
305                         et un autre abonné
306                         <envar>UNICODE</envar>
307                         , et que votre application ne dépasse pas les conditions limites de frontiÚre
308                         entre ces différents encodages, vous pouvez ne jamais rencontrer
309                         de problÚme.
310                 </para>
311
312                 <para>
313                         Dans la version 8.1 de
314                         &postgres;
315                         , des modifications ont été apportées à l'encodage
316                         <envar>UNICODE</envar>
317                         car les versions précédentes acceptaient des encodages invalides.
318                         Cela pouvait conduire à des
319                         <link linkend="faqunicode">problÚmes de replication.</link>
320                 </para>
321
322                 <para>
323                         Notez que si l'encodage client (configuré soit
324                         dans
325                         <filename>postgresql.conf</filename>
326                         , par le paramÚtre
327                         <envar>client_encoding</envar>
328                         , ou soit par la commande
329                         <application>psql</application>
330                         <command>\encoding</command>
331                         , ou sous
332                         <application>psql</application>
333                         par la variable interne
334                         <envar>ENCODING</envar>
335                         ) diffÚre de l'encodage serveur, cette différence peut conduire
336                         &slony1;
337                         a être incapable de répliquer les caractÚres supportés par l'encodage
338                         client et non pas par celui du serveur.
339                 </para>
340
341         </sect2>
342
343         <sect2 id="times">
344                 <title>Synchronisation horloge</title>
345
346                 <indexterm>
347                         <primary>Synchronisation horloge</primary>
348                 </indexterm>
349
350                 <para>
351                         Tous les serveurs utilisés dans le cluster de réplication doivent avoir
352                         leurs horloges internes synchronisées. Cela garantie que
353                         <xref linkend="slon" />
354                         ne génÚre pas d'erreur indiquant qu'un
355                         abonné est en avance par rapport à son fournisseur pendant
356                         la réplication. L'interprétation des logs sur des serveurs ayant une idée différente du temps
357                         est source de confusion et de frustration.
358                         Il est recommandé de faire tourner le démon
359                         <application>ntpd</application>
360                         sur tous les noeuds, où les noeuds abonnés utilisent le noeud
361                         <quote>maître</quote>
362                         comme serveur de temps.
363                 </para>
364
365                 <para>
366                         Il est possible pour
367                         &slony1;
368                         de fonctionner avec des différences de temps,
369                         mais avoir des systÚmes
370                         <quote>synchonisés</quote>
371                         est normalement trÚs important pour les applications distribuées.
372                 </para>
373
374                 <para>
375                         Voir
376                         <ulink url="http://www.ntp.org/">www.ntp.org</ulink>
377                         pour plus de détail au sujet de NTP (Network Time Protocol).
378                 </para>
379
380                 <para>
381                         Quelques utilisateurs ont reporté des problÚmes
382                         lors de l'utilisation de certaines zones de temps, non reconnues par
383                         &postgres;
384                         .
385                         <itemizedlist>
386
387                                 <listitem>
388                                         <para>
389                                                 Sur
390                                                 <productname>AIX</productname>
391                                                 ,
392                                                 <command>
393                                                         <envar>TZ</envar>
394                                                         =CUT0
395                                                 </command>
396                                                 était non reconnu, conduisant à des échecs d'appels systÚme lors de la
397                                                 recherche de timestamps.
398                                         </para>
399
400                                         <para>
401                                                 <command>CUT0</command>
402                                                 est une variante pour décrire
403                                                 <command>UTC</command>
404                                         </para>
405                                 </listitem>
406
407                                 <listitem>
408                                         <para>
409                                                 Quelques zones de temps ne sont pas encore incluses
410                                                 dans
411                                                 &postgres;.
412                                         </para>
413                                 </listitem>
414
415                         </itemizedlist>
416                 </para>
417
418                 <para>
419                         Dans tous les cas, ce qui semble être communément une
420                         <quote>bonne pratique</quote>
421                         avec
422                         &slony1;
423                         (et, pour nous
424                         &postgres;) est d'utiliser pour l'utilisateur postmaster et/ou l'utilisateur sous lequel
425                         <application>slon</application>
426                         tourne
427                         <command>
428                                 <envar>TZ</envar>
429                                 =UTC
430                         </command>
431                         ou
432                         <command>
433                                 <envar>TZ</envar>
434                                 =GMT
435                         </command>
436                         . Ces zones de temps sont supportées de maniÚre
437                         <emphasis>sûres</emphasis>
438                         par n'importe quelle plate-forme, ont le mérite par rapport à des timezones
439                         <quote>locaux</quote>
440                         de ne jamais diverger par rapport aux changements heures été-hiver.
441                 </para>
442
443         </sect2>
444
445         <sect2>
446                 <title>Connexions réseau</title>
447
448                 <indexterm>
449                         <primary>Connexions réseau</primary>
450                 </indexterm>
451
452                 <para>
453                         Il est nécessaire que les noeuds devant être répliqués entre eux aient des communications réseau
454                         <emphasis>bidirectionnelles</emphasis>
455                         entre les instances
456                         &postgres;
457                         . Ainsi, si le noeud B est en train de répliquer les données du noeud A
458                         , il est nécessaire qu'il y ai un chemin de A vers B et de B vers A.
459                         Il est recommandé que, dans la mesure du possible, tous les
460                         noeuds du cluster
461                         &slony1;
462                         permettent ce type de communication bidirectionnelle
463                         de n'importe quel noeud du cluster vers n'importe quel autre noeud du cluster.
464                 </para>
465
466                 <para>
467                         Pour faciliter la configuration, les adresses réseau devraient être
468                         idéalement identiques à travers tous les noeuds.
469                         <xref linkend="stmtstorepath" />
470                         leur permet d'être différentes, mais le maintien de ces différents paths
471                         pointant sur le même serveur peut devenir problématique.
472                 </para>
473
474                 <para>
475                         Un contournement possible de cela, dans les environnements où
476                         les rÚgles de firewall sont particuliÚrement difficiles à implémenter, peut
477                         être d'établir des tunnels SSH
478                         <ulink
479                                 url="http://www.brandonhutchinson.com/ssh_tunnelling.html"
480                                 id="tunnelling">
481                                 SSH Tunnels
482                         </ulink>
483                         crés sur chaque host permettant un accÚs distant
484                         au travers d'une adresse IP locale telle 127.0.0.1, en utilisant un
485                         port différent pour chaque destination.
486                 </para>
487
488                 <para>
489                         Notez que
490                         <application>slonik</application>
491                         et les instances
492                         <application>slon</application>
493                         ne nécessitent pas de connexions ou de protocoles spéciaux pour
494                         communiquer ensemble; ils nécessitent simplement un accÚs aux bases de données
495                         &postgres;
496                         , en s'y connectant comme
497                         <quote>super utilisateur</quote>
498                         <link linkend="morethansuper">
499                                 capable de mettre à jour les tables du systÚme.
500                         </link>
501                 </para>
502
503                 <para>
504                         Une conséquence d'un tel modÚle de communication est que
505                         le réseau entier dans lequel un cluster
506                         &slony1;
507                         opÚre doit être sécurisé.
508                         Si une des bases de données du cluster ne peut être considérée
509                         comme sécurisée, cela représente une vulnérabilité pour tout le cluster.
510                         De la même maniÚre que dans un systÚme
511                         <quote>peer-to-peer</quote>
512                         ,
513                         <emphasis>n'importe quel</emphasis>
514                         host est capable d'envoyer un évÚnement de réplication
515                         affectant tout le cluster. Ainsi, les rÚgles de sécurité du cluster
516                         doivent être celles du noeud le plus
517                         <emphasis>faible</emphasis>
518                         . Faire tourner
519                         &slony1;
520                         à une localisation qui ne peut être considérée comme sécurisée
521                         compromet la sécurité du cluster dans son ensemble.
522                 </para>
523
524                 <para>
525                         Une nouvelle fonctionnalité de
526                         &slony1;
527                         version 1.1 est que les mises à jour pour un jeu de réplication particulier
528                         peuvent être sérialisées via le schéma
529                         &logshiplink;. La donnée enregistrée dans
530                         <envar>sl_log_1</envar>
531                         et
532                         <envar>sl_log_2</envar>
533                         est aussi écrite dans des fichiers log sur disque. Ces fichiers peuvent
534                         ensuite être transmis de n'importe quelle maniÚre
535                         via scp, FTP, écrits sur DVD-ROMs puis adressés par messagerie, ou, pourquoi pas, en les enregistrant sur
536                         <quote>une clé USB</quote>
537                         permettant l'équivalence d'une
538                         <ulink url="http://www.faqs.org/rfcs/rfc1149.html">
539                                 transmission de diagramme IP on avian carriers - RFC
540                                 1149.
541                         </ulink>
542                         Quelquesoit le mécanisme de transmission, cela permet un seul accÚs de communication
543                         tel que les abonnés utilisant le log shipping ne nécessitent aucun accÚs
544                         aux autres noeuds
545                         &slony1;
546                         .
547                 </para>
548
549         </sect2>
550 </sect1>
Note: See TracBrowser for help on using the browser.