root/traduc/branches/bv747/manuel/installation.sgml

Revision 101, 69.7 kB (checked in by gleu, 3 years ago)

Relecture de plusieurs chapitres.

Line 
1 <!-- $Header: /var/lib/cvs/pgsql-fr/sgml/installation.sgml,v 1.8.2.1 2005/07/15 06:33:41 guillaume Exp $ -->
2
3 <chapter id="installation">
4  <title><![%standalone-include[<productname>PostgreSQL</>]]>
5   Procédure d'installation</title>
6
7  <indexterm zone="installation">
8   <primary>installation</primary>
9  </indexterm>
10
11  <para>
12   Ce <![%standalone-include;[document]]>
13   <![%standalone-ignore;[chapitre]]> décrit l'installation de
14   <productname>PostgreSQL</productname> à partir du code source.
15  </para>
16
17  <sect1 id="install-short">
18   <title>Version courte</title>
19
20   <para>
21 <synopsis>
22 ./configure
23 gmake
24 su
25 gmake install
26 adduser postgres
27 mkdir /usr/local/pgsql/data
28 chown postgres /usr/local/pgsql/data
29 su - postgres
30 /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
31 /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data &gt;logfile 2&gt;&amp;1 &amp;
32 /usr/local/pgsql/bin/createdb test
33 /usr/local/pgsql/bin/psql test
34 </synopsis>
35    Le reste du
36    <![%standalone-include;[document]]>
37    <![%standalone-ignore;[chapitre]]>
38    est la version longue.
39   </para>
40  </sect1>
41
42
43  <sect1 id="install-requirements">
44   <title>Prérequis</title>
45
46   <para>
47    En général, les plateformes style unix modernes doivent être capables
48    d'exécuter <productname>PostgreSQL</>.
49    Les plateformes sur lesquelles des tests ont été effectuées sont listées
50    dans la <xref linkend="supported-platforms"> ci-après.
51    Dans le répertoire <filename>doc</> de la distribution, il y a plusieurs
52    <acronym>FAQ</> spécifiques à des plateformes particulières que vous pouvez
53    consulter si vous avez des problèmes.
54   </para>
55
56   <para>
57    Les logiciels suivants sont nécessaires pour compiler
58    <productname>PostgreSQL</>&nbsp;:
59
60    <itemizedlist>
61     <listitem>
62      <para>
63       <indexterm>
64        <primary>make</primary>
65       </indexterm>
66
67       <acronym>GNU</> <application>make</> est nécessaire&nbsp;; les autres
68       programmes <application>make</> <emphasis>ne</> devraient pas fonctionner.
69       <acronym>GNU</> <application>make</> est souvent installé sous le nom
70       <filename>gmake</filename>&nbsp;; ce document fera toujours référence à
71       lui sous ce nom (sur certains système, <acronym>GNU</> <application>make</>
72       est l'outil par défaut et est nommé <filename>make</>). Pour savoir quelle
73       version vous utilisez, saisissez
74 <screen>
75 <userinput>gmake --version</userinput>
76 </screen>
77       Il est recommandé d'avoir une version postérieure à la version 3.76.1.
78      </para>
79     </listitem>
80
81     <listitem>
82      <para>
83       Il est nécessaire d'avoir un compilateur C
84       <acronym>ISO</>/<acronym>ANSI</>. Une version récente de
85       <productname>GCC</> est recommandée mais
86       <productname>PostgreSQL</> est connu pour être compilable avec de
87       nombreux compilateurs de divers vendeurs.
88      </para>
89     </listitem>
90
91     <listitem>
92      <para>
93       <application>gzip</> est nécessaire pour décompresser l'archive.
94       <![%standalone-include;[ Si vous lisez ceci, c'est que vous avez très
95       certainement passé ce point d'achoppement. ]]>
96      </para>
97     </listitem>
98
99     <listitem>
100      <para>
101       <indexterm>
102        <primary>readline</primary>
103       </indexterm>
104
105       La bibliothèque <acronym>GNU</> <productname>Readline</> sera utilisée par
106       défaut (pour une édition facile des lignes et une recherche de
107       l'historique des commandes). Si vous ne voulez pas l'utiliser, il vous
108       faut spécifier <option>--without-readline</option> au moment d'exécuter
109       la commande <filename>configure</>. (Sous
110       <productname>NetBSD</productname>, la bibliothèque
111       <filename>libedit</filename> est compatible
112       <productname>Readline</productname> et est utilisée si le fichier
113       <filename>libreadline</filename> n'est pas trouvé.)
114      </para>
115     </listitem>
116
117     <listitem>
118      <para>
119       <indexterm>
120        <primary>installation</primary>
121        <secondary>sous Windows</secondary>
122       </indexterm>
123
124       Pour compiler sous <productname>Windows NT</> ou <productname>Windows
125       2000</>, vous avez besoin des packages <productname>Cygwin</> et
126       <productname>cygipc</>. Consultez le fichier
127       <filename>doc/FAQ_MSWIN</> pour plus d'informations.
128      </para>
129     </listitem>
130    </itemizedlist>
131   </para>
132
133   <para>
134    Les paquetages suivants sont optionnels. Ils ne sont pas obligatoires pour
135    une compilation par défaut mais le sont lorsque certaines options sont
136    utilisées ainsi que c'est expliqué par la suite.
137
138    <itemizedlist>
139     <listitem>
140      <para>
141       Pour installer le langage de procédures PL/Perl, vous devez avoir une
142       installation de <productname>Perl</productname> complète, comprenant la
143       bibliothèque <filename>libperl</filename> et les fichiers d'en-tête.
144       Comme PL/Perl est une bibliothèque partagée, la bibliothèque
145       <indexterm><primary>libperl</primary></indexterm>
146       <filename>libperl</filename> doit aussi, sur la plupart des plateformes,
147       être partagée. Ce qui n'est le cas que dans les versions récentes de Perl
148       et en général c'est le choix de ceux qui installent Perl.
149      </para>
150
151      <para>
152       Si vous n'avez pas de bibliothèque partagée alors qu'il vous en faut une,
153       un message tel que celui-ci apparaîtra durant la compilation pour vous en
154       avertir&nbsp;:
155 <screen>
156 *** Cannot build PL/Perl because libperl is not a shared library.
157 *** You might have to rebuild your Perl installation.  Refer to
158 *** the documentation for details.
159 </screen>
160       (Si vous ne suivez pas la sortie écran, vous pourrez constater que la
161       bibliothèque <filename>plperl.so</filename> de PL/Perl, ou similaire,
162       n'est pas installée.) Si c'est le cas, il vous faudra recompiler et
163       ré-installer <productname>Perl</productname> manuellement pour être
164       capable de compiler PL/Perl. Lors de la phase de configuration de
165       <productname>Perl</productname>, demandez que les bibliothèques soient
166       partagées.
167      </para>
168     </listitem>
169
170     <listitem>
171      <para>
172       Pour compiler le langage de procédures PL/Python, il faut que Python soit
173       installé, y compris les fichiers d'en-tête.
174       Puisque PL/Python devra être une bibliothèque partagée, la bibliothèque
175       <indexterm><primary>libpython</primary></indexterm>
176       <filename>libpython</filename> doit l'être aussi sur la plupart des
177       plateformes. Ce n'est pas le cas pour une installation par défaut de
178       Python.
179      </para>
180
181      <para>
182       Si, après la compilation et l'installation, vous avez un fichier nommé
183       <filename>plpython.so</filename> (des extensions différentes sont
184       possibles), alors tout va pour le mieux. Sinon, vous devriez avoir vu un
185       avertissement semblable à&nbsp;:
186 <screen>
187 *** Cannot build PL/Python because libpython is not a shared library.
188 *** You might have to rebuild your Python installation.  Refer to
189 *** the documentation for details.
190 </screen>
191       Ce qui signifie que vous devez recompiler Python (ou une partie) pour
192       activer cette bibliothèque partagée.
193      </para>
194
195      <para>
196       Le problème est que la distribution de Python ne fournit pas de moyen
197       direct de le faire. L'avantage est que nous vous offrons les informations
198       pour le faire à l'adresse <ulink
199       url="http://www.python.org/doc/FAQ.html#3.30">Python FAQ
200       3.30</ulink>. Sur certains systèmes d'exploitation, vous n'avez pas
201       vraiment besoin de la bibliothèque partagée, mais il vous faudra en
202       convaincre <productname>PostgreSQL</>. Consultez le fichier
203       <filename>Makefile</filename> dans le répertoire
204       <filename>src/pl/plpython</filename> pour plus de détails.
205      </para>
206     </listitem>
207
208     <listitem>
209      <para>
210       Si vous voulez compiler les composantes Tcl ou Tk (clients et langage de
211       procédures PL/Tcl), vous avez, bien sûr, besoin que Tcl soit installé.
212      </para>
213     </listitem>
214
215     <listitem>
216      <para>
217       Pour compiler le driver JDBC, il vous faut
218       <application>Ant</application> 1.5 ou postérieur et
219       <acronym>JDK</acronym>. <application>Ant</application> est un outil
220       spécifique pour compiler les paquetages java. Il peut être téléchargé sur
221       <ulink
222       url="http://jakarta.apache.org/ant/index.html"><application>Ant</application>
223       </ulink>.
224      </para>
225
226      <para>
227       Si vous avez installé différents compilateurs Java, Ant utilisera
228       celui défini dans sa configuration. Les distributions précompilées de
229       <application>Ant</application> font typiquement appel au fichier de
230       configuration <filename>.antrc</filename> dans le répertoire de
231       connexion de l'utilisateur. Par exemple, pour utiliser un
232       <acronym>JDK</acronym> différent de celui défini par défaut, il vous faut
233       les lignes suivantes&nbsp;:
234
235 <programlisting>
236 JAVA_HOME=/usr/local/sun-jdk1.3
237 JAVACMD=$JAVA_HOME/bin/java
238 </programlisting>
239      </para>
240
241      <note>
242       <para>
243        N'essayez pas de compiler le pilote d'application en appelant
244        <command>ant</command> ou même <command>javac</command> directement.
245        Cela ne fonctionne pas. Utilisez <command>gmake</command> normalement
246        comme décrit ci après.
247       </para>
248      </note>
249     </listitem>
250
251     <listitem>
252      <para>
253       Pour activer le support de langage natif (<acronym>NLS</acronym>), qui
254       permet d'afficher les messages dans une langue autre que l'anglais, vous
255       avez besoin d'une implémentation de l'<acronym>API</acronym>
256       <application>Gettext</>. Certains systèmes d'exploitation l'ont intégré.
257       (Par exemple, <systemitem class="osname">Linux</>,
258       <systemitem class="osname">NetBSD</>,
259       <systemitem class="osname">Solaris</>), pour les autres systèmes vous
260       pouvez télécharger les paquetages nécessaires <ulink
261       url="http://developer.postgresql.org/~petere/bsd-gettext"></ulink>.
262       Si vous utilisez l'implémentation de <application>Gettext</> des
263       bibliothèques C <acronym>GNU</acronym>, vous devrez en plus utiliser le
264       paquetage <productname>GNU Gettext</productname> pour certains
265       utilitaires. Pour toutes les autres implémentations, vous n'en avez pas
266       besoin.
267      </para>
268     </listitem>
269
270     <listitem>
271      <para>
272       <application>Kerberos</>, <application>OpenSSL</> ou <application>PAM</>,
273       si vous voulez une authentification supportant ces services.
274      </para>
275     </listitem>
276    </itemizedlist>
277   </para>
278
279   <para>
280    Si vous compilez à partir d'une arborescence <acronym>CVS</acronym> au lieu
281    d'utiliser un paquetage contenant les sources, ou si vous faites du
282    développement, vous aurez aussi besoin des paquetages suivants&nbsp;:
283
284    <itemizedlist>
285     <listitem>
286      <para>
287       <indexterm>
288        <primary>flex</primary>
289       </indexterm>
290       <indexterm>
291        <primary>bison</primary>
292       </indexterm>
293       <indexterm>
294        <primary>yacc</primary>
295       </indexterm>
296
297       <application>Flex</> et <application>Bison</>
298       sont nécessaires pour compiler à partir d'une récupération du CVS ou si
299       vous modifiez les fichiers de recherche et d'analyse. Si vous en avez
300       besoin, vérifiez que vous avez <application>Flex</> 2.5.4 ou postérieur
301       et <application>Bison</> 1.875 ou postérieur. D'autres programmes
302       <application>yacc</> peuvent parfois d'être utilisés, ce qui n'est pas
303       recommandé vu les efforts supplémentaires que cela demande.
304       D'autres programmes <application>lex</> ne fonctionneront définitivement
305       pas.
306      </para>
307     </listitem>
308    </itemizedlist>
309   </para>
310
311   <para>
312    Si vous avez besoin de paquetages <acronym>GNU</acronym>, vous pourrez les
313    trouver sur un site miroir de <acronym>GNU</acronym> (voir <ulink
314    url="http://www.gnu.org/order/ftp.html"></> pour en avoir la liste) ou sur
315    <ulink url="ftp://ftp.gnu.org/gnu/"></ulink>.
316   </para>
317
318   <para>
319    Vérifiez aussi que vous avez assez d'espace disque de disponible. Il vous
320    faudra 65&nbsp;Mo pour l'espace de compilation et 15&nbsp;Mo pour le
321    répertoire d'installation. Une base de données vide en cluster nécessite
322    25&nbsp;Mo, les fichiers de la base prenant cinq fois plus d'espace que des
323    fichiers texte contenant les mêmes données. Si vous voulez faire des tests de
324    régression, vous aurez besoin temporairement de 90&nbsp;Mo supplémentaires.
325    Utilisez la commande <command>df</command> pour vérifier l'espace disque.
326   </para>
327  </sect1>
328
329 <![%standalone-ignore;[
330  <sect1 id="install-getsource">
331   <title>Obtenir les sources</title>
332
333   <para>
334    Les sources de <productname>PostgreSQL</> &version; peuvent être obtenues
335    par ftp anonyme à <ulink
336    url="ftp://ftp.postgresql.org/pub/source/v&version;/postgresql-&version;.tar.gz"></ulink>.
337    Utilisez un site miroir si possible. Après avoir téléchargé le fichier,
338    décompressez-le&nbsp;:
339 <screen>
340 <userinput>gunzip postgresql-&version;.tar.gz</userinput>
341 <userinput>tar xf postgresql-&version;.tar</userinput>
342 </screen>
343    Cela créera un répertoire <filename>postgresql-&version;</filename>
344    contenant les sources de <productname>PostgreSQL</> dans le répertoire
345    courant. Allez dans ce nouveau répertoire pour continuer la procédure
346    d'installation.
347   </para>
348  </sect1>
349 ]]>
350
351  <sect1 id="install-upgrading">
352   <title>Si vous effectuez une mise à jour</title>
353
354   <indexterm zone="install-upgrading">
355    <primary>Mise à jour</primary>
356   </indexterm>
357
358   <para>
359    Le format de stockage interne des données a changé avec cette nouvelle
360    version de <productname>PostgreSQL</>. Toutefois, si vous faites une mise
361    à jour qui n'a pas un numéro de version de la forme
362    <quote>&majorversion;.x</quote>, vous devrez faire une sauvegarde et une
363    restauration des données ainsi que c'est montré ici. Les instructions
364    considèrent que votre installation existante est dans le répertoire
365    <filename>/usr/local/pgsql</> et que la zone de données est dans
366    <filename>/usr/local/pgsql/data</>. Remplacez les chemins de façon
367    approprié.
368   </para>
369
370   <procedure>
371    <step>
372     <para>
373      Assurez-vous que vos données ne sont pas mises à jour pendant ou après la
374      sauvegarde. Cela n'affecterait en rien l'intégrité de la sauvegarde mais
375      les données modifiées ne seraient pas incluses. Si nécessaire,
376      éditez le fichier
377      <filename>/usr/local/pgsql/data/pg_hba.conf</> (ou équivalent) pour
378      verrouiller tous les accès sauf les vôtres.
379     </para>
380    </step>
381
382    <step>
383     <para>
384      <indexterm>
385       <primary>pg_dumpall</primary>
386       <secondary>utilisé pendant la mise à jour</secondary>
387      </indexterm>
388
389      Pour effectuer une sauvegarde de votre base, saisissez&nbsp;:
390 <screen>
391 <userinput>pg_dumpall &gt; <replaceable>fichierdesortie</></userinput>
392 </screen>
393      Si vous souhaitez conserver les identifiants d'objets (lorsqu'ils sont
394      utilisés comme clé étrangère), utilisez l'option <option>-o</option>
395      lors de l'exécution de <command>pg_dumpall</>.
396     </para>
397
398     <para>
399      <command>pg_dumpall</command> ne sauvegarde pas les gros objets.  Lisez
400      <![%standalone-include[la documentation]]>
401      <![%standalone-ignore[la <xref linkend="backup-dump-caveats">]]>
402      si vous en avez besoin.
403     </para>
404
405     <para>
406      Pour effectuer une sauvegarde, vous pouvez exécuter la commande
407      <command>pg_dumpall</command> incluse dans la distribution de votre
408      version actuelle. Cependant, pour de meilleurs résultats, essayez
409      d'utiliser la commande <command>pg_dumpall</command> contenue dans
410      <productname>PostgreSQL</productname> &version; puisqu'elle corrige les
411      erreurs des versions précédentes. Ce conseil est absurde tant que vous
412      n'avez pas encore installé la nouvelle version. Il devient valable si vous
413      souhaitez installer la nouvelle version en parallèle. Dans ce cas, vous
414      pouvez faire l'installation normalement et ne transférer les données
415      qu'après, ce qui réduira le temps d'indisponibilité.
416     </para>
417    </step>
418
419    <step>
420     <para>
421      Si vous installez la nouvelle version à la place de l'ancienne, arrêtez
422      l'ancien serveur, au plus tard avant d'installer les nouveaux
423      fichiers&nbsp;:
424 <screen>
425 <userinput>kill -INT `cat /usr/local/pgsql/data/postmaster.pid | sed 1q`</>
426 </screen>
427      Les versions antérieures à la 7.0 n'ont pas le fichier
428      <filename>postmaster.pid</>. Si vous utilisez une telle version, vous
429      devez trouver le PID du serveur vous même, par exemple en saisissant
430      <userinput>ps ax | grep postmaster</>, et utiliser la commande
431      <command>kill</> avec ce PID.
432     </para>
433
434     <para>
435      Sur les systèmes qui lancent <productname>PostgreSQL</> au démarrage, il y
436      a probablement un fichier de démarrage qui peut faire la même chose. Par
437      exemple, sur un système <systemitem class="osname">Red Hat Linux</>, la
438      commande
439 <screen>
440 <userinput>/etc/rc.d/init.d/postgresql stop</userinput>
441 </screen>
442      devrait fonctionner. Une autre possibilité est <userinput>pg_ctl stop</>.
443     </para>
444    </step>
445
446    <step>
447     <para>
448      Si vous faites l'installation au même endroit que l'ancienne, il peut être
449      une bonne idée de déplacer l'ancienne version au cas où vous auriez des
450      problèmes et que vous ayez besoin de revenir en arrière. Utilisez une
451      commande telle que&nbsp;:
452 <screen>
453 <userinput>mv /usr/local/pgsql /usr/local/pgsql.old</>
454 </screen>
455     </para>
456    </step>
457   </procedure>
458
459   <para>
460    Après l'installation de <productname>PostgreSQL</> &version;, créez un
461    répertoire pour les données et démarrez le nouveau serveur. Rappelez-vous
462    que vous devez exécuter ces commandes en étant connecté avec l'utilisateur
463    dédié à la base (qui doit déjà exister si vous changez juste de version).
464 <programlisting>
465 <userinput>/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data</>
466 <userinput>/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data</>
467 </programlisting>
468    Enfin, restaurez vos données avec
469 <screen>
470 <userinput>/usr/local/pgsql/bin/psql -d template1 -f <replaceable>outputfile</></userinput>
471 </screen>
472    en utilisant le <emphasis>nouveau</> <application>psql</>.
473   </para>
474
475   <para>
476    Ces principes sont étudiés plus en détails dans <![%standalone-include[the
477    documentation,]]> <![%standalone-ignore[la <xref
478    linkend="migration">,]]> que vous êtes vivement encouragez à lire dans tous
479    les cas.
480   </para>
481  </sect1>
482
483
484  <sect1 id="install-procedure">
485   <title>Procédure d'installation </title>
486
487   <procedure>
488
489   <step id="configure">
490    <title>Configuration</>
491
492    <indexterm zone="configure">
493     <primary>configure</primary>
494    </indexterm>
495
496    <para>
497     La première étape de la procédure d'installation est de configurer votre
498     arborescence système et de choisir les options qui vous intéressent.
499     Ce qui est fait en exécutant le script <filename>configure</>. Pour une
500     installation par défaut, entrez simplement
501 <screen>
502 <userinput>./configure</userinput>
503 </screen>
504     Ce script exécutera de nombreux tests afin de déterminer les valeurs
505     de certaines variables dépendantes du système et de détecter certains aléas
506     relatifs à votre système d'exploitation. Il créera divers
507     fichiers dans l'arborescence de compilation pour enregistrer ce qui a été
508     trouvé (vous pouvez aussi exécuter <filename>configure</filename> à
509     partir d'un répertoire hors de l'arborescence des sources si vous voulez
510     conserver l'arborescence de compilation séparé).
511    </para>
512
513    <para>
514     La configuration par défaut compilera le serveur et les utilitaires, aussi
515     bien que toutes les applications clientes et interfaces qui requièrent
516     seulement un compilateur C. Tous les fichiers seront installés par défaut
517     sous <filename>/usr/local/pgsql</>.
518    </para>
519
520    <para>
521     Vous pouvez personnaliser les processus de compilation et d'installation en
522     mettant une ou plusieurs options sur la ligne de commande après
523     <filename>configure</filename>&nbsp;:
524
525      <variablelist>
526       <varlistentry>
527        <term><option>--prefix=<replaceable>PREFIX</></option></term>
528        <listitem>
529         <para>
530          Installe tous les fichiers dans le répertoire <replaceable>PREFIX</>
531          au lieu du répertoire <filename>/usr/local/pgsql</filename>.
532          Les fichiers actuels seront installés dans divers
533          sous-répertoires&nbsp;; aucun fichier ne sera directement installés
534          sous <replaceable>PREFIX</>.
535         </para>
536
537         <para>
538          Si vous avez des besoins spécifiques, vous pouvez de plus
539          personnaliser les sous-répertoires à l'aide des options suivantes.
540         </para>
541        </listitem>
542       </varlistentry>
543
544       <varlistentry>
545        <term><option>--exec-prefix=<replaceable>EXEC-PREFIX</></option></term>
546        <listitem>
547         <para>
548          Vous pouvez installer les fichiers dépendants de l'architecture dans
549          un répertoire différent, <replaceable>EXEC-PREFIX</>, de celui donné
550          par <replaceable>PREFIX</>. Ce qui peut être utile pour partager
551          les fichiers dépendants de l'architecture entre plusieurs machines.
552          Si vous l'omettez, <replaceable>EXEC-PREFIX</> est égal à
553          <replaceable>PREFIX</> et les fichiers dépendants seront installés
554          sous la même arborescence que les fichiers indépendants de
555          l'architecture, ce qui est probablement ce que vous voulez.
556         </para>
557        </listitem>
558       </varlistentry>
559
560       <varlistentry>
561        <term><option>--bindir=<replaceable>REPERTOIRE</></option></term>
562        <listitem>
563         <para>
564          Spécifie le répertoire des exécutables. Par défaut, il s'agit de
565          <filename><replaceable>EXEC-PREFIX</>/bin</>, ce qui signifie
566          <filename>/usr/local/pgsql/bin</>.
567         </para>
568        </listitem>
569       </varlistentry>
570
571       <varlistentry>
572        <term><option>--datadir=<replaceable>REPERTOIRE</></option></term>
573        <listitem>
574         <para>
575          Prépare le répertoire pour des fichiers de données en lecture seule
576          utilisés par les programmes d'installation. Par défaut, il s'agit de
577          <filename><replaceable>PREFIX</>/share</>. Il est bon de noter que
578          cela n'a rien à voir avec l'emplacement des fichiers de votre base de
579          données.
580         </para>
581        </listitem>
582       </varlistentry>
583
584       <varlistentry>
585        <term><option>--sysconfdir=<replaceable>REPERTOIRE</></option></term>
586        <listitem>
587         <para>
588          Le répertoire contenant divers fichiers de configuration. Par défaut,
589          il s'agit de <filename><replaceable>PREFIX</>/etc</>.
590         </para>
591        </listitem>
592       </varlistentry>
593
594       <varlistentry>
595        <term><option>--libdir=<replaceable>REPERTOIRE</></option></term>
596        <listitem>
597         <para>
598          L'endroit où installer les bibliothèques et les modules chargeables
599          dynamiquement. Par défaut, il s'agit de
600          <filename><replaceable>EXEC-PREFIX</>/lib</>.
601         </para>
602        </listitem>
603       </varlistentry>
604
605       <varlistentry>
606        <term><option>--includedir=<replaceable>REPERTOIRE</></option></term>
607        <listitem>
608         <para>
609          Le répertoire où sont installées les en-têtes C et C++. Par défaut, il
610          s'agit de <filename><replaceable>PREFIX</>/include</>.
611         </para>
612        </listitem>
613       </varlistentry>
614
615       <varlistentry>
616        <term><option>--docdir=<replaceable>REPERTOIRE</></option></term>
617        <listitem>
618         <para>
619          Les fichiers de documentation, sauf les pages <quote>man</>,
620          seront installés dans ce répertoire. Par défaut, il s'agit de
621          <filename><replaceable>PREFIX</>/doc</>.
622         </para>
623        </listitem>
624       </varlistentry>
625
626       <varlistentry>
627        <term><option>--mandir=<replaceable>REPERTOIRE</></option></term>
628        <listitem>
629         <para>
630          Les pages man fournies avec <productname>PostgreSQL</> seront
631          installées sous ce répertoire, dans leur sous-répertoire
632          <filename>man<replaceable>x</></> respectif.
633          Par défaut, il s'agit de <filename><replaceable>PREFIX</>/man</>.
634         </para>
635        </listitem>
636       </varlistentry>
637      </variablelist>
638
639      <note>
640       <para>
641        Une attention toute particulière a été prise afin de rendre possible
642        l'installation de <productname>PostgreSQL</> dans des répertoires
643        partagés (comme <filename>/usr/local/include</filename>) sans
644        interférer avec des noms de fichiers relatifs au reste du système.
645        En premier lieu, le mot <quote><literal>/postgresql</literal></quote>
646        est automatiquement ajouté au répertoire <varname>datadir</varname>,
647        <varname>sysconfdir</varname> et <varname>docdir</varname>,
648        à moins que le nom du répertoire à partir de la racine contienne déjà
649        le mot <quote><literal>postgres</></quote> où
650        <quote><literal>pgsql</></quote>. Par exemple, si vous choisissez
651        <filename>/usr/local</filename> comme préfixe, la documentation sera
652        installée dans
653        <filename>/usr/local/doc/postgresql</filename>, mais si le
654        préfixe est <filename>/opt/postgres</filename>, alors il sera dans
655        <filename>/opt/postgres/doc</filename>.  Les fichiers d'en-têtes
656        publiques C de l'interface cliente seront installés sous
657        <varname>includedir</varname> et sont propres par rapport aux noms de
658        fichiers relatifs au reste du système. Les fichiers d'en-têtes privés et
659        les fichiers d'en-têtes du serveur sont installés dans des répertoires
660        privés sous <varname>includedir</varname>.
661        Voir la documentation de chaque interface pour savoir comment obtenir
662        ces fichiers d'en-tête.
663        Enfin, un répertoire privé sera aussi créé si nécessaire sous
664        <varname>libdir</varname> pour les modules chargeables dynamiquement.
665       </para>
666      </note>
667     </para>
668
669     <para>
670      <variablelist>
671       <varlistentry>
672        <term><option>--with-includes=<replaceable>REPERTOIRES</></option></term>
673        <listitem>
674         <para>
675          <replaceable>REPERTOIRES</> est une liste de répertoires séparés par
676          des caractères deux points (:) qui sera ajoutée à la liste de recherche
677          des fichiers d'en-tête. Si vous avez des paquetages optionnels (tels
678          que <application>Readline</> GNU) installés dans des répertoires non
679          conventionnels, vous pouvez utiliser cette option et certainement
680          l'option <option>--with-libraries</> correspondante.
681         </para>
682         <para>
683          Exemple&nbsp;:
684          <literal>--with-includes=/opt/gnu/include:/usr/sup/include</>.
685         </para>
686        </listitem>
687       </varlistentry>
688
689       <varlistentry>
690        <term><option>--with-libraries=<replaceable>REPERTOIRES</></option></term>
691        <listitem>
692         <para>
693          <replaceable>REPERTOIRES</> est une liste de recherche de répertoires
694          de bibliothèques séparés par des caractères deux points (:). Vous
695          aurez probablement à utiliser cette option (et l'option correspondante
696          <option>--with-includes</>) si vous avez des paquetages installés dans
697          des répertoires non conventionnels.
698         </para>
699         <para>
700          Exemple&nbsp;: <literal>--with-libraries=/opt/gnu/lib:/usr/sup/lib</>.
701         </para>
702        </listitem>
703       </varlistentry>
704
705       <varlistentry>
706        <term><option>--enable-nls<optional>=<replaceable>LANGUES</replaceable></optional></option></term>
707        <listitem>
708         <para>
709          Permet de mettre en place le support des langues natives
710          (<acronym>NLS</acronym>). C'est la possibilité d'afficher les messages
711          des programmes dans une langue autre que l'anglais.
712          <replaceable>LANGUE</replaceable> est une liste de codes des langues
713          que vous voulez supporter séparés par un espace. Par
714          exemple, <literal>--enable-nls='de fr'</> (l'intersection entre votre
715          liste et l'ensemble des langues traduites actuellement sera calculée
716          automatiquement). Si vous ne spécifiez pas de liste, alors toutes les
717          traductions disponibles seront installées.
718         </para>
719
720         <para>
721          Pour utiliser cette option, vous avez besoin d'une implémentation de
722          l'API <application>Gettext</>&nbsp;; voir après.
723         </para>
724        </listitem>
725       </varlistentry>
726
727       <varlistentry>
728        <term><option>--with-pgport=<replaceable>NUMERO</></option></term>
729        <listitem>
730         <para>
731          Positionne <replaceable>NUMERO</> comme numéro de port par défaut
732          pour le serveur et les clients. La valeur par défaut est 5432. Le port
733          peut toujours être changé ultérieurement mais, si vous le faites ici,
734          alors les exécutables du serveur et des clients auront la même valeur
735          par défaut, ce qui est vraiment très pratique. Habituellement, la
736          seule bonne raison de choisir une valeur autre que celle par défaut
737          est que vous souhaitez exécuter plusieurs serveurs
738          <productname>PostgreSQL</> sur la même machine.
739         </para>
740        </listitem>
741       </varlistentry>
742
743       <varlistentry>
744        <term><option>--with-perl</option></term>
745        <listitem>
746         <para>
747          Permet l'utilisation du langage PL/Perl côté serveur.
748         </para>
749        </listitem>
750       </varlistentry>
751
752       <varlistentry>
753        <term><option>--with-python</option></term>
754        <listitem>
755         <para>
756          Permet la compilation du langage de procédures PL/Python.
757         </para>
758        </listitem>
759       </varlistentry>
760
761       <varlistentry>
762        <term><option>--with-tcl</option></term>
763        <listitem>
764         <para>
765          Compile les composants demandés par Tcl/Tk, qui sont
766          <application>libpgtcl</>, <application>pgtclsh</>,
767          <application>pgtksh</application>,
768          et <application>PL/Tcl</>. Voir après au sujet de
769          <option>--without-tk</>.
770         </para>
771        </listitem>
772       </varlistentry>
773
774       <varlistentry>
775        <term><option>--without-tk</option></term>
776        <listitem>
777         <para>
778          Si vous spécifiez <option>--with-tcl</> et cette option, alors
779          le programme qui nécessite <productname>Tk</>
780          (<application>pgtksh</>) sera exclu.
781         </para>
782        </listitem>
783       </varlistentry>
784
785       <varlistentry>
786        <term><option>--with-tclconfig=<replaceable>REPERTOIRE</replaceable></option></term>
787        <term><option>--with-tkconfig=<replaceable>REPERTOIRE</replaceable></option></term>
788        <listitem>
789         <para>
790          Tcl/Tk installe les fichiers <filename>tclConfig.sh</filename> et
791          <filename>tkConfig.sh</filename>, ces fichiers contiennent certaines
792          informations de configuration nécessaires pour compiler le module
793          d'interfaçage avec Tcl ou Tk. Ces fichiers sont normalement trouvés
794          automatiquement à leur place bien connue, mais si vous voulez utiliser
795          une version différente de Tcl ou Tk, vous pouvez spécifier le
796          répertoire où les trouver.
797         </para>
798        </listitem>
799       </varlistentry>
800
801       <varlistentry>
802        <term><option>--with-java</option></term>
803        <listitem>
804         <para>
805          Compile le pilote <acronym>JDBC</acronym> et les paquetages java
806          associés.
807         </para>
808        </listitem>
809       </varlistentry>
810
811       <varlistentry>
812        <term><option>--with-krb4<optional>=<replaceable>REPERTOIRE</></></option></term>
813        <term><option>--with-krb5<optional>=<replaceable>REPERTOIRE</></></option></term>
814        <listitem>
815         <para>
816          Compile le support d'authentification Kerberos. Vous pouvez utiliser
817          soit la version 4 soit la version 5 de Kerberos, mais pas
818          les deux. L'argument <replaceable>REPERTOIRE</> spécifie le répertoire
819          racine de l'installation de Kerberos.
820          La valeur <filename>/usr/athena</> est prise par défaut. Si les
821          fichiers d'en-tête et bibliothèques correspondants ne sont pas sous
822          un répertoire commun, vous devez utiliser les options
823          <option>--with-includes</> et <option>--with-libraries</> en plus
824          de cette option. Si, d'autre part, les fichiers requis sont dans
825          un répertoire qui fait partie de la liste de recherche par défaut
826          (par exemple <filename>/usr/lib</>), alors vous pouvez ne pas tenir
827          compte de cet argument.
828         </para>
829
830         <para>
831          <filename>configure</> cherchera les en-têtes et bibliothèques requis
832          pour s'assurer que votre installation de Kerberos est correcte
833          avant d'effectuer la compilation.
834         </para>
835        </listitem>
836       </varlistentry>
837
838       <varlistentry>
839        <term><option>--with-krb-srvnam=<replaceable>NOM</></option></term>
840        <listitem>
841         <para>
842          Le nom du service principal de Kerberos.
843          <literal>postgres</literal> est pris par défaut. Il n'y a
844          probablement pas de raison de le changer.
845         </para>
846        </listitem>
847       </varlistentry>
848
849       <varlistentry>
850        <indexterm>
851         <primary>OpenSSL</primary>
852         <seealso>SSL</seealso>
853        </indexterm>
854
855        <term><option>--with-openssl<optional>=<replaceable>REPERTOIRE</></></option></term>
856        <listitem>
857         <para>
858          Compile le support de connexion <acronym>SSL</> (cryptage).
859          Il est nécessaire que le paquetage <productname>OpenSSL</> soit
860          installé. L'argument <replaceable>REPERTOIRE</> spécifie la racine du
861          répertoire d'installation de <productname>OpenSSL</>&nbsp;; la valeur
862          par défaut est <filename>/usr/local/ssl</>.
863         </para>
864
865         <para>
866          <filename>configure</> cherchera les en-têtes et bibliothèques requis
867          pour s'assurer que votre installation d'<productname>OpenSSL</>
868          est correcte avant de lancer la compilation.
869         </para>
870        </listitem>
871       </varlistentry>
872
873       <varlistentry>
874        <term><option>--with-pam</option></term>
875        <listitem>
876         <para>
877          Compile le support <acronym>PAM</><indexterm><primary>PAM</></>
878          (<foreignphrase>Modules d'Authentification Pluggable</foreignphrase>).
879         </para>
880        </listitem>
881       </varlistentry>
882
883       <varlistentry>
884        <term><option>--without-readline</option></term>
885        <listitem>
886         <para>
887          Évite l'utilisation de la bibliothèque <application>Readline</>.
888          Cela désactive l'édition de la ligne de commande et l'historique dans
889          <application>psql</application>, ce n'est donc pas recommandé.
890         </para>
891        </listitem>
892       </varlistentry>
893
894       <varlistentry>
895        <term><option>--with-rendezvous</option></term>
896        <listitem>
897         <para>
898          Compile le support Rendezvous.
899         </para>
900        </listitem>
901       </varlistentry>
902
903       <varlistentry>
904        <term><option>--disable-spinlocks</option></term>
905        <listitem>
906         <para>
907          Autorise le succès de la construction y compris lorsque PostgreSQL n'a
908          pas le support spinlock du CPU pour la plateforme. Ce manque de support
909          résultera en des performances faibles&nbsp;; du coup, cette option
910          devra seulement être utilisée si la construction échoue et vous informe
911          du manque de support de spinlock sur votre plateforme.
912         </para>
913        </listitem>
914       </varlistentry>
915
916       <varlistentry>
917        <term><option>--enable-thread-safety</option></term>
918        <listitem>
919         <para>
920          Rend les bibliothèques clientes compatibles avec les threads. Ceci
921          permet des threads concurrents dans les programmes
922          <application>libpq</application> et <application>ECPG</application>
923          ce qui leur permet de gérer en toute sûreté leur connexions privées.
924         </para>
925        </listitem>
926       </varlistentry>
927
928       <varlistentry>
929        <term><option>--without-zlib</option></term>
930        <listitem>
931         <para>
932          Évite l'utilisation de la bibliothèque <application>Zlib</>. Cela
933          désactive le support de la compression dans
934          <application>pg_dump</application>.
935          Cette option est seulement là pour les rares systèmes qui ne
936          disposent pas de cette bibliothèque.
937         </para>
938        </listitem>
939       </varlistentry>
940
941       <varlistentry>
942        <term><option>--enable-debogue</option></term>
943        <listitem>
944         <para>
945          Compile tous les programmes et bibliothèques en mode de débogage.
946          Cela signifie que vous pouvez exécuter les programmes via un
947          débogueur pour analyser les problèmes. Cela grossit considérablement
948          la taille des exécutables et, avec des compilateurs autres que GCC,
949          habituellement, cela désactive les optimisations du compilateur,
950          provoquant des ralentissements. Cependant, mettre ce mode en place est
951          extrêmement utile pour repérer les problèmes. Actuellement, cette
952          option est recommandée pour les installations en production seulement
953          si vous utilisez GCC. Néanmoins, vous devriez l'utiliser si vous
954          développez ou si vous utilisez une version béta.
955         </para>
956        </listitem>
957       </varlistentry>
958
959       <varlistentry>
960        <term><option>--enable-cassert</option></term>
961        <listitem>
962         <para>
963          Permet la vérification des <firstterm>assertions</> par le serveur qui
964          teste de nombreux cas de conditions <quote>impossibles</>. Ce qui est
965          inestimable dans le cas de développement, mais les tests ralentissent
966          le système. Activer cette option n'influe pas sur la stabilité de
967          votre serveur&nbsp;! Les assertions vérifiées ne sont pas classées par
968          ordre de sévérité et il se peut qu'un bogue anodin fasse redémarrer le
969          serveur s'il y a un échec de vérification.
970          Actuellement, cette option n'est pas recommandée dans un
971          environnement de production mais vous devriez l'utiliser lors de
972          développement ou pour les versions béta.
973         </para>
974        </listitem>
975       </varlistentry>
976
977       <varlistentry>
978        <term><option>--enable-depend</option></term>
979        <listitem>
980         <para>
981          Active la recherche automatique des dépendances. Avec cette option,
982          les fichiers makefile sont appelés pour recompiler les fichiers objet
983          dès qu'un fichier d'en-tête est modifié. C'est pratique si vous faites
984          du développement, mais inutile si vous ne voulez que compiler une fois
985          et installer. Pour le moment, cette option ne fonctionne qu'avec GCC.
986         </para>
987        </listitem>
988       </varlistentry>
989
990      </variablelist>
991     </para>
992
993     <para>
994      Si vous préférez utiliser un compilateur C différent de ceux listés par
995      <filename>configure</filename>, alors positionnez la variable
996      d'environnement <envar>CC</> pour qu'elle pointe sur le compilateur de
997      votre choix.
998      Par défaut, <filename>configure</filename> pointe sur
999      <filename>gcc</filename> à moins qu'il ne soit celui de la plateforme.
1000      De façon similaire, vous pouvez repositionner les options par défaut du
1001      compilateur à l'aide de la variable <envar>CFLAGS</envar>.
1002     </para>
1003
1004     <para>
1005      Vous pouvez spécifier les variables d'environnement sur la ligne de
1006      commande <filename>configure</filename>, par exemple&nbsp;:
1007 <screen>
1008 <userinput>./configure CC=/opt/bin/gcc CFLAGS='-O2 -pipe'</>
1009 </screen>
1010     </para>
1011    </step>
1012
1013   <step>
1014    <title>Compilation</title>
1015
1016    <para>
1017     Pour démarrer la compilation, saisissez
1018 <screen>
1019 <userinput>gmake</userinput>
1020 </screen>
1021     (Rappelez-vous d'utiliser <acronym>GNU</> <application>make</>). La
1022     compilation peut prendre entre cinq minutes et une demi-heure en fonction
1023     de votre matériel. La dernière ligne affichée devrait être
1024 <screen>
1025 All of PostgreSQL is successfully made. Ready to install.
1026 </screen>
1027    </para>
1028   </step>
1029
1030   <step>
1031    <title>Tests de régression</title>
1032
1033    <indexterm>
1034     <primary>tests de régression</primary>
1035    </indexterm>
1036
1037    <para>
1038     Si vous souhaitez tester le serveur nouvellement compileé avant de
1039</