Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
431 lines (359 sloc) 16.1 KB
<?xml version="1.0" encoding="UTF-8"?>
<!-- Dernière modification
le $Date$
par $Author$
révision $Revision$ -->
<sect1 id="installation">
<title>Installation de &slony1;</title>
<indexterm><primary>instructions d'installation</primary></indexterm>
<note>
<para>
Pour les utilisateurs de &windows;&nbsp;: à moins de modifier le code de
&slony1;, il est fortement recommandé de télécharger et d'installer une
version binaire précompilée et de passer directement à la section
configuration ci-dessous. Vous trouverez les liens et les binaires
officiels sur le <ulink url="http://pgfoundry.org/projects/slony1/">site de
&slony1;</ulink>, notamment la version 1.2.0.
</para>
<para>
Il existe également des binaires RPM disponibles pour les versions récentes
de &slony1; et de &postgres;.
</para>
</note>
<warning>
<para>
Si vous utilisez &slony1; pour remplacer une version antérieure de
&postgres; par une version récente, ou si vous souhaitez une version issue
du CVS, en dehors du contexte de la sortie d'une version majeure, alors
préparez-vous à compiler à la fois &postgres; et &slony1; à partir des
sources. Cette section est rédigée en supposant que vous avez lu cet
avertissement...
</para>
</warning>
<para>
Vous devez avoir obtenu les sources de &slony1; à l'étape précédente.
Décompressez le paquet.
</para>
<screen>gunzip slony.tar.gz;
tar xf slony.tar</screen>
<para>
Ceci va créer un répertoire contenant les sources dans votre répertoire
courant. Déplacez-vous dans ce répertoire et restez-y pendant toute la
procédure d'installation.
</para>
<sect2>
<title>Version courte</title>
<indexterm><primary>installation : version courte</primary></indexterm>
<para>
<screen>PGMAIN=/usr/local/pgsql839-freebsd-2008-09-03 \
./configure \
--with-pgconfigdir=$PGMAIN/bin
gmake all; gmake install
</screen>
</para>
</sect2>
<sect2>
<title>Configuration</title>
<indexterm><primary>instructions de configuration</primary></indexterm>
<para>
Normalement, &slony1; doit être compilé et installé avec le compte Unix
&postgres;. La cible de l'installation doit être identique à l'installation
&postgres; existante, notamment parce que plusieurs composants de &slony1;
sont des bibliothèques et des scripts SQL qui doivent être dans les
répertoires <filename>lib</filename> et <filename>share</filename> de
&slony1;.
</para>
<para>
La première étape de la procédure d'installation est de configurer l'arbre
des sources pour votre système. Ceci se fait en lançant le script
<application>configure</application>. Dans les versions précédentes,
<application>configure</application> devait savoir où se trouvait l'arbre
des sources de &postgres;, ce qui était renseigné avec l'option
<option>--with-pgsourcetree=</option>. À partir de la version 1.1, ceci
n'est plus nécessaire car &slony1; inclut dans son propre code applicatif
certaines parties nécessaire pour faciliter la porbabilité entre les
différentes plates-formes. Désormais, il suffit de faire référence à des
composants de &postgres; qui font partie de l'installation. Ainsi, &slony1;
est configuré en pointant vers les différentes répertoire de &postgres;&nbsp;:
binaires, bibliothèques et fichiers d'en-tête. Pour une liste complète de ces
options, utilisez la commande <command>./configure --help</command>.
</para>
<para>
<emphasis>Normalement</emphasis>, il est suffisant d'exécuter
<command>configure<option>--with-pgconfigdir=/un/certain/chemin</option></command>,
où <filename>/un/certain/chemin</filename> est l'emplacement où se situe le
programme <application>pg_config</application> de &postgres;. À partir de
<application>pg_config</application>, le script <filename>configure</filename>
peut déterminer les divers emplacements des composants &postgres;, ce qui
permet de déduire où installer les composants essentiels de &slony1;.
</para>
<para>
Sur certaines plate-formes (AIX et Solaris sont connus pour cela mais pas
Linux), la compilation de &postgres; doit être expressement configuré avec
l'option <command>--enable-thread-safety</command> pour fournir les
bibliothèques clients correctes.
</para>
<para>
Les versions 8.0 et ultérieures de &postgres; installe les fichiers d'en-tête
<command>#include</command> par défaut. Avec les versions 7.4 et antérieures,
vous devez vous assurer que la compilation inclut la commande <command>make
install-all-headers</command>, sinon les en-têtes du serveur ne seront pas
installés et &slony1; ne pourra pas être compilé.
</para>
<para>
Après avoir lancé configure, vous pouvez ouvrir le fichier
<filename>Makefile.global</filename> pour vous assurer qu'il recherche tous
les composants dans les bons emplacements.
</para>
</sect2>
<sect2>
<title>Exemple</title>
<para>
Après avoir déterminé que l'instance &postgres; est installé dans
<filename>/opt/dbs/pgsql746-aix-2005-04-01</filename>&nbsp;:
</para>
<screen>PGMAIN=/opt/dbs/pgsql746-aix-2005-04-01 \
./configure \
--with-pgconfigdir=$PGMAIN/bin</screen>
<para>
Le script <application>configure</application> lance de nombreux tests pour
deviner les valeurs des différentes variables et tente de détecter certaines
particularités de votre système. &slony1; est connu pour avoir besoin d'une
version modifiée de <application>libpq</application> sur des plate-formes
spécifiques telles que Solaris2.X sur SPARC. Le correctif de la version 7.4.2
de la libpq se trouvent à l'adresse <ulink id="threadpatch" url=
"http://developer.postgresql.org/~wieck/slony1/download/threadsafe-libpq-742.diff.gz">
http://developer.postgresql.org/~wieck/slony1/download/threadsafe-libpq-742.diff.gz
</ulink>. Des correctifs similaires peuvent être compilés pour d'autres
versions&nbsp;; voir l'entrée dans la FAQ intitulée <link
linkend="threadsafety">sécurité des threads</link>.
</para>
<para>
Pour une liste de toutes les options de configuration, lancez la commande
<command>./configure --help</command>.
</para>
</sect2>
<sect2>
<title>Compilation</title>
<para>
Pour démarrer le processus de compilation, tapez&nbsp;:
<screen>gmake all</screen>
</para>
<para>
Assurez d'utiliser GNU make&nbsp;; sur les systèmes BSD, il est appelé
<application>gmake</application>&nbsp;; sur Linux, GNU make est généralement
le <application>make</application> <quote>natif</quote>, ainsi le nom de la
commande que vous devez taper peut être <command>make</command> ou
<command>gmake</command>. Sur d'autres plate-formes, vous aurez peut-être
besoin de paquets supplémentaires ou même d'une installation complète de
GNU make. La compilation prend entre quelques secondes et deux minutes selon
la rapidité de votre matériel. La dernière ligne affichée devrait être&nbsp;:
</para>
<para>
<command>All of Slony-I is successfully made. Ready to install.</command>
</para>
</sect2>
<sect2>
<title>Installer &slony1; une fois compilé</title>
<para>
Pour installer &slony1;, tapez&nbsp;:
<command>gmake install</command>
</para>
<para>
Ceci va installer les fichiers dans le répertoire d'installation de PostgreSQL
tel que spécifié par l'option <option>--prefix</option> de
<command>configure</command> utilisé lors de l'installation de &postgres;.
Assurez-vous que vous avez les droits adéquats pour écrire dans cet
emplacement. En général, vous devez être soit root ou l'utilisateur postgres.
</para>
<para>
Voici la liste des fichiers principaux installés dans l'instance
&postgres;, pour les versions de &slony1; jusqu'à la 1.2.x&nbsp;:
</para>
<itemizedlist>
<listitem><para><filename> $bindir/slon</filename></para></listitem>
<listitem><para><filename> $bindir/slonik</filename></para></listitem>
<listitem><para><filename> $libdir/slony1_funcs$(DLSUFFIX)</filename></para></listitem>
<listitem><para><filename> $libdir/xxid($DLSUFFIX)</filename></para></listitem>
<listitem><para><filename> $datadir/slony1_base.sql</filename></para></listitem>
<listitem><para><filename> $datadir/slony1_base.v73.sql</filename></para></listitem>
<listitem><para><filename> $datadir/slony1_base.v74.sql</filename></para></listitem>
<listitem><para><filename> $datadir/slony1_base.v80.sql</filename></para></listitem>
<listitem><para><filename> $datadir/slony1_funcs.sql</filename></para></listitem>
<listitem><para><filename> $datadir/slony1_funcs.v73.sql</filename></para></listitem>
<listitem><para><filename> $datadir/slony1_funcs.v74.sql</filename></para></listitem>
<listitem><para><filename> $datadir/slony1_funcs.v80.sql</filename></para></listitem>
</itemizedlist>
<para>
(Notez qu'au fur et à mesure des versions, la liste des fichiers spécifiques
à une version a tendance à grossir...)
</para>
<para>
Les fichiers <filename>.sql</filename> ne sont pas encore complètement
substitués. Les versions pour chaque version supportée de &postgres;
(<emphasis>c'est-à-dire</emphasis> par exemple 7.3, 7.4, 8.0) sont
installées sur chaque système, quelque soit sa version. L'outil
d'administration <xref linkend="slonik"/> fait la substitution de
l'espace de noms et du cluster dans ces fichiers, puis charge ces fichiers
lors de la création desn&oelig;uds de répliation. À ce moment, la base de
données en cours d'initialisation peut se trouver à distance et être exécutée
par une autre version de &postgres; que celle de l'hôte local
.</para>
<para>
Pour terminer, les deux objets partagés installés dans le répertoire
<filename>$libdir</filename> doivent être installés sur chaque ordinateur
qui va devenir un n&oelig;ud &slony1; (d'autres composants peuvent être
chargés à distance à partir des autres n&oelig;uds.).
</para>
<para>
Dans &slony1; version 2.0, cela change&nbsp;:
</para>
<itemizedlist>
<listitem><para><filename> $bindir/slon</filename></para></listitem>
<listitem><para><filename> $bindir/slonik</filename></para></listitem>
<listitem><para><filename> $libdir/slony1_funcs$(DLSUFFIX)</filename></para></listitem>
<listitem><para><filename> $datadir/slony1_base.sql</filename></para></listitem>
<listitem><para><filename> $datadir/slony1_funcs.sql</filename></para></listitem>
</itemizedlist>
<note>
<para>
Notez l'abandon de <filename>xxid.so</filename>, le type de données txid
introduit avec &postgres; 8.3 le rendant obsolète.
</para>
</note>
<note>
<para>
&slony1; 2.0 abandonne la compatibilité avec les versions de &postgres;
antérieures à la 8.3, et du coup <quote>ré-initialise</quote> la gestion
des fonctions de base spécifiques à la version. Il peut exister des
fichiers de fonction pour les versions 8.3, 8.4, et ainsi de suite, si
des différences importantes pour la réplication sont notées dans les
fonctionnalités de &postgres;.
</para>
</note>
</sect2>
<sect2>
<title>Compiler la documentation&nbsp;: Guide d'administration</title>
<indexterm><primary>compiler la documentation &slony1;</primary></indexterm>
<para>
Le document que vous êtes en train de lire est un <quote>guide
d'administration</quote> très complet qui contient toute la sagesse
découverte lors de l'utilisation et la maintenance de &slony1;.</para>
<para>
Cette documentation est compilé uniquement si vous spécifiez l'option
<command>--with-docs</command>.
</para>
<para>
Notez que vous pouvez rencontrer des difficultés pour compiler la
documentation sur les systèmes basés sur Red Hat à cause de la valeur NAMELEN
qui est trop faible. Havoc Pennington a déclaré ce bug au milieu de l'année
2001, à l'époque de Red Hat 7.1&nbsp;; La société Red Hat Software a reconnu
ce bug mais il n'y a eu aucun progrès depuis. La seconde URL ci-dessous
indique qu'il y a eu des tentatives de correction en élevant la valeur de
NAMELEN dans une future version de Red Hat Enterprise Linux, mais cela n'est
pas le cas si vous utilisez une version plus récente pour laquelle cela ne
sera jamais rectifié. Les distribution Fedora actuelles ont déjà corrigé ce
problème.
</para>
<para>
<ulink url="https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=36058">Bug
36058</ulink>
</para>
<para>
<ulink url="https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=159382">Bug
159382 (pour RHEL)</ulink>
</para>
<para>
Une version pré-compilée du « Guide d'administration » est disponible soit
sous la forme de paquets d'archive séparés, soit dans le répertoire
<filename>doc/adminguide/prebuilt</filename>
</para>
<para>
Voir le fichier <filename>INSTALL</filename> pour un contournement
du problème sous Fedora...
</para>
</sect2>
<sect2>
<title>Installer &slony1; à partir des RPM</title>
<para>
Même si &slony1; peut être compilé et exécuté sur la plupart des
distributions Linux, il est également possible d'installer &slony1; en
utilisant des paquets binaires. L'équipe de développement de Slony (NdT&nbsp;:
«&nbsp;Slony Global Development Team&nbsp;») fournit des paquets RPM et SRPM
officiels pour différentes versions de Red Hat et Fedora.
</para>
<para>
Les RPM sont disponibles sur le <ulink url="yum.pgsqlrpms.org">site RPM de
&postgres;</ulink>. Merci de lire le guide pratique fourni sur le site web
pour configurer yum afin qu'il utilise ce dépôt. Notez que ces RPM
rechercheront &postgres; tel qu'installé par RPM, donc si vous avez installé
&postgres; à partir des sources, vous devez ignorer explicitement les
dépendances liées à &postgres;.
</para>
<para>
Installer &slony1; à partir de ces RPM est aussi facile qu'avec n'importe
quel paquet RPM&nbsp;:
</para>
<screen>yum install slony1</screen>
<para>
yum s'occupera des dépendances. Ce dépôt fournit les binaires de Slony-I
utilisables avec chaque version supportée de &postgres;.
</para>
<para>
Le paquet RPM installe les fichiers à leur emplacements habituels. Les
fichiers de configuration sont dans le répertoire <filename>/etc</filename>,
les fichiers binaires sont installés dans <filename>/usr/bin</filename>, les
bibliothèques sont dans <filename>/usr/lib/pgsql</filename> et enfin la
documentation est située dans <filename>/usr/share/doc/slony1</filename>.
</para>
</sect2>
<sect2>
<title>Installer le service &slony1; sur &windows;</title>
<indexterm><primary>installation &slony1; sur &windows;</primary></indexterm>
<para>
Sur les systèmes &windows;, au lieu de lancer un démon <xref
linkend="slon"/> par n&oelig;ud, un service slon unique est installé et peut
alors être contrôlé via le panneau de contrôle des
<command>Services</command> ou à partir de la console de commande en
utilisant la commande <command>net</command>.
</para>
<screen>C:\Program Files\PostgreSQL\8.0\bin> slon -regservice my_slon
Service registered.
Before you can run Slony, you must also register an engine!
WARNING! Service is registered to run as Local System. You are
encouraged to change this to a low privilege account to increase
system security.</screen>
<para>
Une fois que le service est installé, les n&oelig;uds individuels peuvent
être configurés en enregistrant les fichiers de configuration auprès du
service&nbsp;:
</para>
<screen>C:\Program Files\PostgreSQL\8.0\bin> slon -addengine c:\node1.conf
Engine added.</screen>
<para>
Les autres commandes sont équivoques&nbsp;: <command>slon -unregservice
&lt;nom du service&gt;</command>, <command>slon -listengines
&lt;nom du service&gt;</command> et <command>slon -delengine
&lt;nom du service&gt; &lt;config file&gt;</command>.
</para>
<para>
Pour plus d'informations à propos de la version &windows;, vous pouvez
consulter les pages suivantes&nbsp;:
</para>
<itemizedlist>
<listitem>
<para>
<ulink url="http://developer.pgadmin.org/~hiroshi/Slony-I/">Exemple
d'installation de Slony-I sous Windows (en anglais)</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="http://people.planetpostgresql.org/xzilla/index.php?/archives/200-Alpha-testing-Slony-on-win32-Crib-Notes.html">
Notes rapides suite à des tests de Slony sous Windows par xzilla (en
anglais)</ulink>
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>