Changeset 1043

Show
Ignore:
Timestamp:
05/17/08 10:16:50 (6 months ago)
Author:
daamien
Message:

1ere traduction, réalisée par Marie

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • traduc/trunk/slony/prerequisites.xml

    r901 r1043  
    11<?xml version="1.0" encoding="UTF-8"?> 
    22<!-- DerniÚre modification 
    3      le       $Date$ 
    4      par      $Author$ 
    5      révision $Revision$ --> 
     3       le       $Date$ 
     4       par      $Author$ 
     5       révision $Revision$ --> 
    66 
    77<sect1 id="requirements"> 
    8 <title>System Requirements</title>  
    9  
    10 <para>Any platform that can run &postgres; should be able, in 
    11 principle, to run &slony1;.</para> 
    12  
    13 <indexterm><primary> platforms where &slony1; runs </primary> </indexterm> 
    14  
    15 <para>The platforms that have received specific testing at the time of 
    16 this release are FreeBSD-4X-i368, FreeBSD-5X-i386, FreeBSD-5X-alpha, 
    17 OS-X-10.3, Linux-2.4X-i386 Linux-2.6X-i386 Linux-2.6X-amd64, 
    18 <trademark>Solaris</trademark>-2.8-SPARC, 
    19 <trademark>Solaris</trademark>-2.9-SPARC, AIX 5.1, OpenBSD-3.5-sparc64 
    20 and &windows; 2000, XP and 2003 (32 bit).</para> 
    21  
    22 <sect2> 
    23 <title> &slony1; Software Dependancies</title> 
    24  
    25 <indexterm><primary> software dependancies </primary> </indexterm> 
    26  
    27 <para> At present, &slony1; <emphasis>as well as &postgres;</emphasis> 
    28 need to be able to be compiled from source at your site.</para> 
    29  
    30 <para> In order to compile &slony1;, you need to have the following 
    31 tools: 
    32  
    33 <itemizedlist> 
    34 <listitem><para> GNU make.  Other make programs will not work.  GNU 
    35 make is often installed under the name <command>gmake</command>; this 
    36 document will therefore always refer to it by that name. (On 
    37 Linux-based systems GNU make is typically the default make, and is 
    38 called <command>make</command>) To test to see if your make is GNU 
    39 make enter <command>make version</command>.  Version 3.76 or later 
    40 will suffice; previous versions may not.</para></listitem> 
    41  
    42 <listitem><para> You need an ISO/ANSI C compiler.  Recent versions of 
    43 <application>GCC</application> work.</para></listitem> 
    44  
    45 <listitem><para> You also need a recent version of &postgres; 
    46 <emphasis>source</emphasis>.  &slony1; depends on namespace support so 
    47 you must have &postgres; version 7.3.3 or newer to be able to build 
    48 and use &slony1;.  </para> 
    49  
    50 <para> Earlier versions of &postgres; are <emphasis> not </emphasis> 
    51 supported, but note that one user has <quote>hacked</quote> &slony1; 
    52 to do a 7.2-to-7.4 upgrade; see <link linkend="v72upgrade"> &postgres; 
    53 7.2 notes </link>. </para> 
    54  
    55 <para> Versions of &postgres; prior to 7.4.8 may run into a 
    56 longstanding race condition that leads to problems of <link 
    57 linkend="dupkey"> <quote>duplicate keys</quote></link>, so you may 
    58 want to consider upgrades if you are running earlier versions.</para> 
    59  
    60 <para> If you are running a version of &postgres; earlier 
    61 than 8.0, you need to make sure that server header files were 
    62 installed.  If installing from sources, this is done via the command 
    63 <command>make install-all-headers</command>.  Otherwise, you will 
    64 encounter the <link linkend="missingheaders"> missing headers for 
    65 libpqserver</link> problem described in the FAQ. 
    66 </para> 
    67  
    68 <para> If you are running versions 8.1.0 thru 8.1.3, there is a bug 
    69 (addressed in 8.1.4) which prevents <xref 
    70 linkend="stmtupdatefunctions"/> from running properly.  For more 
    71 details see the <xref linkend="FAQ"/>, <link 
    72 linkend="pg81funs"> on &postgres; 8.1.[0-3] </link>. </para> 
    73  
    74 </listitem> 
    75  
    76 <listitem><para> GNU packages may be included in the standard 
    77 packaging for your operating system, or you may need to look for 
    78 source code at your local GNU mirror (see <ulink 
    79 url="http://www.gnu.org/order/ftp.html"> 
    80 http://www.gnu.org/order/ftp.html </ulink> for a list) or at <ulink 
    81 url="ftp://ftp.gnu.org/gnu"> ftp://ftp.gnu.org/gnu </ulink> 
    82 .)</para></listitem> 
    83  
    84 <listitem><para> If you need to obtain &postgres; source, you can 
    85 download it from your favorite &postgres; mirror.  See <ulink 
    86 url="http://www.postgresql.org/mirrors-www.html"> 
    87 http://www.postgresql.org/mirrors-www.html </ulink> for a 
    88 list.</para></listitem> 
    89  
    90 <listitem><para> This documentation is written in SGML using <ulink 
    91 url="http://docbook.com/"> DocBook </ulink>, and may be processed into 
    92 numerous formats including HTML, RTF, and PDF using tools in the 
    93 <ulink url="http://docbook.sourceforge.net/"> DocBook Open Repository 
    94 </ulink> along with <ulink url="http://openjade.sourceforge.net/"> 
    95 OpenJade.</ulink> </para></listitem> 
    96  
    97 <listitem><para> On &windows; you will also need the same <ulink url= 
    98 "http://www.postgresql.org/docs/faqs.FAQ_MINGW.html">MinGW/Msys 
    99 Toolset</ulink> used to build &postgres; 8.0 and above.  In addition 
    100 you will need to install <ulink url= 
    101 "http://sourceware.org/pthreads-win32/">pthreads-win32 
    102 2.x</ulink>. </para></listitem> 
    103  
    104 </itemizedlist> </para> 
    105  
    106 <para>Also check to make sure you have sufficient disk space.  You 
    107 will need approximately 5MB for the source tree during build and 
    108 installation.</para> 
    109  
    110 <note><para>In &slony1; version 1.1, it is possible to compile 
    111 &slony1; separately from &postgres;, making it practical for the 
    112 makers of distributions of <productname>Linux</productname> and 
    113 <productname>FreeBSD</productname> to include precompiled binary 
    114 packages for &slony1;.  If no suitable packages are available, you 
    115 will need to be prepared to compile &slony1; yourself.  </para></note> 
    116 </sect2> 
    117  
    118 <sect2> 
    119 <title> Getting &slony1; Source</title> 
    120  
    121 <indexterm><primary>downloading &slony1; sources</primary></indexterm> 
    122  
    123 <para>You can get the &slony1; source from <ulink 
    124     url="http://main.slony.info/downloads/"> 
    125 http://main.slony.info/downloads/</ulink> 
    126 </para> 
    127  
    128 </sect2> 
    129  
    130 <sect2 id="encoding"> 
    131 <title> Database Encoding </title> 
    132  
    133 <indexterm><primary> database encodings</primary></indexterm> 
    134  
    135 <para> &postgres; databases may be created in a number of language 
    136 encodings, set up via the <command>createdb --encoding=$ENCODING 
    137 databasename</command> option.  &slony1; assumes that they use 
    138 <emphasis>identical</emphasis> encodings. 
    139 </para> 
    140  
    141 <para> If the encodings are <quote>closely equivalent</quote>, you may 
    142 be able to get away with them not being absolutely identical.  For 
    143 instance, if the origin system used <envar>LATIN1</envar> and a 
    144 subscriber used <envar>SQL_ASCII</envar> and another subscriber used 
    145 <envar>UNICODE</envar>, and your application never challenges the 
    146 boundary conditions between these variant encodings, you may never 
    147 experience any problems.  </para> 
    148  
    149 <para> In &postgres; 8.1, changes were made to the 
    150 <envar>UNICODE</envar> encoding because earlier versions accepted some 
    151 invalid encodings.  This can lead to <link linkend="faqunicode"> 
    152 replication problems.</link> </para> 
    153  
    154 <para> Note also that if the client encoding (configured assortedly in 
    155 <filename>postgresql.conf</filename>, parameter 
    156 <envar>client_encoding</envar>, or via the 
    157 <application>psql</application> <command>\encoding </command> command, 
    158 or the <application>psql</application> internal variable 
    159 <envar>ENCODING</envar>) varies from the server encoding, this 
    160 mismatch may lead to &slony1; being unable to replicate those 
    161 characters supported by the client encoding but not by the server 
    162 encoding. </para> 
    163  
    164 </sect2> 
    165  
    166 <sect2 id="times"> 
    167 <title> Time Synchronization</title> 
    168  
    169 <indexterm><primary> time synchronization</primary></indexterm> 
    170  
    171 <para> All the servers used within the replication cluster need to 
    172 have their Real Time Clocks in sync. This is to ensure that <xref 
    173 linkend="slon"/> doesn't generate errors with messages indicating that 
    174 a subscriber is already ahead of its provider during replication. 
    175 Interpreting logs when servers have a different idea of what time it 
    176 is leads to confusion and frustration.  It is recommended that you 
    177 have <application>ntpd</application> running on all nodes, where 
    178 subscriber nodes using the <quote>master</quote> provider host as 
    179 their time server.</para> 
    180  
    181 <para> It is possible for &slony1; itself to function even in the face 
    182 of there being some time discrepancies, but having systems <quote>in 
    183 sync</quote> is usually pretty important for distributed 
    184 applications.</para> 
    185  
    186 <para> See <ulink url="http://www.ntp.org/"> www.ntp.org </ulink> for 
    187 more details about NTP (Network Time Protocol).</para> 
    188  
    189 <para> Some users have reported problems that have been traced to 
    190 their locales indicating the use of some time zone that &postgres; did 
    191 not recognize. 
    192  
    193 <itemizedlist> 
    194  
    195 <listitem><para> On <productname>AIX</productname>, 
    196 <command><envar>TZ</envar>=CUT0</command> was unrecognized, leading to 
    197 timestamps pulled from system calls causing it to 
    198 break.</para> 
    199  
    200 <para> <command>CUT0</command> is a variant way of describing 
    201 <command>UTC</command></para> 
    202 </listitem> 
    203  
    204 <listitem><para> Some countries' timezones are not yet included in 
    205 &postgres;.  </para></listitem> 
    206  
    207 </itemizedlist></para> 
    208  
    209 <para> In any case, what commonly seems to be the <quote>best 
    210 practice</quote> with &slony1; (and, for that matter, &postgres;) is 
    211 for the postmaster user and/or the user under which 
    212 <application>slon</application> runs to use 
    213 <command><envar>TZ</envar>=UTC</command> or 
    214 <command><envar>TZ</envar>=GMT</command>.  Those timezones are 
    215 <emphasis>sure</emphasis> to be supported on any platform, and have 
    216 the merit over <quote>local</quote> timezones that times never wind up 
    217 leaping around due to Daylight Savings Time.</para> 
    218  
    219 </sect2> 
    220  
    221 <sect2><title> Network Connectivity</title> 
    222  
    223 <indexterm><primary> network connectivity</primary></indexterm> 
    224  
    225 <para>It is necessary that the hosts that are to replicate between one 
    226 another have <emphasis>bidirectional</emphasis> network communications 
    227 between the &postgres; instances.  That is, if node B is replicating 
    228 data from node A, it is necessary that there be a path from A to B and 
    229 from B to A.  It is recommended that, as much as possible, all nodes 
    230 in a &slony1; cluster allow this sort of bidirection communications 
    231 from any node in the cluster to any other node in the cluster.</para> 
    232  
    233 <para>For ease of configuration, network addresses should ideally be 
    234 consistent across all of the nodes.  <xref linkend="stmtstorepath"/> 
    235 does allow them to vary, but down this road lies madness as you try to 
    236 manage the multiplicity of paths pointing to the same server.</para> 
    237  
    238 <para>A possible workaround for this, in environments where firewall 
    239 rules are particularly difficult to implement, may be to establish 
    240 <ulink url="http://www.brandonhutchinson.com/ssh_tunnelling.html" 
    241 id="tunnelling"> SSH Tunnels </ulink> that are created on each host 
    242 that allow remote access through a local IP address such as 127.0.0.1, 
    243 using a different port for each destination.</para> 
    244  
    245 <para> Note that <application>slonik</application> and the 
    246 <application>slon</application> instances need no special connections 
    247 or protocols to communicate with one another; they merely need access 
    248 to the &postgres; databases, connecting as a <quote>superuser</quote> 
    249 <link linkend="morethansuper">that has the ability to update system 
    250 tables.</link></para> 
    251  
    252 <para> An implication of this communications model is that the entire 
    253 extended network in which a &slony1; cluster operates must be able to 
    254 be treated as being secure.  If there is a remote location where you 
    255 cannot trust one of the databases that is a &slony1; node to be 
    256 considered <quote>secure,</quote> this represents a vulnerability that 
    257 can adversely affect the security of the entire cluster.  As a 
    258 <quote>peer-to-peer</quote> system, <emphasis>any</emphasis> of the 
    259 hosts is able to introduce replication events that will affect the 
    260 entire cluster.  Therefore, the security policies throughout the 
    261 cluster can only be considered as stringent as those applied at the 
    262 <emphasis>weakest</emphasis> link.  Running a &slony1; node at a 
    263 branch location that can't be kept secure compromises security for the 
    264 cluster as a whole.</para> 
    265  
    266 <para>New in &slony1; version 1.1 is a feature whereby updates for a 
    267 particular replication set may be serialized via a scheme called 
    268 &logshiplink;.  The data stored in <envar>sl_log_1</envar> and 
    269 <envar>sl_log_2</envar> is also written out to log files on disk. 
    270 These files may then be transmitted in any manner desired, whether via 
    271 scp, FTP, burning them onto DVD-ROMs and mailing them, or, at the 
    272 frivolous end of the spectrum, by recording them on a USB <quote>flash 
    273 device</quote> and attaching them to birds, allowing some equivalent 
    274 to <ulink url="http://www.faqs.org/rfcs/rfc1149.html"> transmission of 
    275 IP datagrams on avian carriers - RFC 1149.</ulink> But whatever the 
    276 transmission mechanism, this allows one way communications such that 
    277 subscribers that use log shipping have no need of access to other 
    278 &slony1; nodes.</para> 
    279  
    280 </sect2> 
     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. D'autres modules 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 source récente de  
     88                                                &postgres; 
     89                                                <emphasis>source</emphasis> 
     90                                                . 
     91                                                &slony1; 
     92                                                dépend du support d'espace de noms, vous avez donc besoin 
     93                                                de la version 7.3.3 de 
     94                                                &postgres; 
     95                                                ou d'une version plus récente pour pouvoir compiler et utiliser 
     96                                                &slony1;. 
     97                                        </para> 
     98 
     99                                        <para> 
     100                                                Les versions précendentes de 
     101                                                &postgres; 
     102                                                <emphasis>ne sont pas</emphasis> 
     103                                                supportées, mais noter qu'un utilisateur a 
     104                                                <quote>forcé</quote> 
     105                                                &slony1; 
     106                                                dans le cadre d'une migration d'une version 7.2 vers une version 7.4; voir 
     107                                                <link linkend="v72upgrade"> 
     108                                                        &postgres; 
     109                                                        7.2 notes 
     110                                                </link> 
     111                                                . 
     112                                        </para> 
     113 
     114                                        <para> 
     115                                                Les versions de 
     116                                                &postgres; 
     117                                                antérieures à la 7.4.8 peuvent conduire à une requête sans fin 
     118                                                conduisant à une condition de 
     119                                                <link linkend="dupkey"> 
     120                                                        <quote>duplicate keys</quote> 
     121                                                </link> 
     122                                                , vous devez alors envisager une mise à jour pour éviter ce type d'erreur. 
     123                                        </para> 
     124 
     125                                        <para> 
     126                                                Si vous utiliser une version de 
     127                                                &postgres; 
     128                                                antérieure à la version 8.0, vous devez vous assurer que 
     129                                                les fichiers d'en-tête de serveur sont installés. Si 
     130                                                vous installez depuis les sources, cela se fait par la 
     131                                                commande 
     132                                                <command>make install-all-headers</command> 
     133                                                . Sinon, vous rencontrerez le problÚme 
     134                                                <link linkend="missingheaders"> 
     135                                                        missing headers for libpqserver 
     136                                                </link> 
     137                                                décrit dans le FAQ. 
     138                                        </para> 
     139 
     140                                        <para> 
     141                                                Si vous utilisez les versions 8.1.0 à 8.1.3, 
     142                                                il y a un bug (corrigé en 8.1.4) empêchant 
     143                                                <xref linkend="stmtupdatefunctions" /> 
     144                                                de fonctionner correctement. Pour plus de détails, voir le 
     145                                                <xref linkend="FAQ" /> 
     146                                                , 
     147                                                <link linkend="pg81funs"> 
     148                 
     149                                                        &postgres; 
     150                                                        8.1.[0-3] 
     151                                                </link> 
     152                                                . 
     153                                        </para> 
     154 
     155                                </listitem> 
     156 
     157                                <listitem> 
     158                                        <para> 
     159                                                Les packages GNU peuvent être inclus dans le packaging standard 
     160                                                de votre systÚme, ou doivent être recherchés sur votre 
     161                                                miroir local GNU (voir 
     162                                                <ulink 
     163                                                        url="http://www.gnu.org/order/ftp.html"> 
     164                                                        http://www.gnu.org/order/ftp.html 
     165                                                </ulink> 
     166                                                pour une liste) ou 
     167                                                <ulink url="ftp://ftp.gnu.org/gnu"> 
     168                                                        ftp://ftp.gnu.org/gnu 
     169                                                </ulink> 
     170                                                .) 
     171                                        </para> 
     172                                </listitem> 
     173 
     174                                <listitem> 
     175                                        <para> 
     176                                                Si vous devez obtenir les sources 
     177                                                &postgres; 
     178                                                , vous pouvez les télécharger depuis votre miroir 
     179                                                &postgres; 
     180                                                favori. Voir 
     181                                                <ulink 
     182                                                        url="http://www.postgresql.org/mirrors-www.html"> 
     183                                                        http://www.postgresql.org/mirrors-www.html 
     184                                                </ulink> 
     185                                                pour une liste. 
     186                                        </para> 
     187                                </listitem> 
     188 
     189                                <listitem> 
     190                                        <para> 
     191                                                Cette documentation est écrite en SGML avec 
     192                                                <ulink url="http://docbook.com/">DocBook</ulink> 
     193                                                , et peut être traduite dans de nombreux formats 
     194                                                incluant le HTML, le RTF, et le PDF en utilisant des outils  
     195                                                <ulink url="http://docbook.sourceforge.net/"> 
     196                                                        dans le repository DocBook 
     197                                                </ulink> 
     198                                                avec 
     199                                                <ulink url="http://openjade.sourceforge.net/"> 
     200                                                        OpenJade. 
     201                                                </ulink> 
     202                                        </para> 
     203                                </listitem> 
     204 
     205                                <listitem> 
     206                                        <para> 
     207                                                Sous 
     208                                                &windows; 
     209                                                aurez aussi besoin de la boîte à outils 
     210                                                <ulink 
     211                                                        url="http://www.postgresql.org/docs/faqs.FAQ_MINGW.html"> 
     212                                                        MinGW/Msys 
     213                                                </ulink> 
     214                                                pour compiler les versions 8.0 et supérieures de 
     215                                                &postgres; 
     216                                                . De plus, vous devez installer 
     217                                                <ulink 
     218                                                        url="http://sourceware.org/pthreads-win32/"> 
     219                                                        pthreads-win32 2.x 
     220                                                </ulink> 
     221                                                . 
     222                                        </para> 
     223                                </listitem> 
     224 
     225                        </itemizedlist> 
     226                </para> 
     227 
     228                <para> 
     229                        Assurez-vous de disposer de suffisamment d'espace libre. Vous 
     230                        aurez besoin d'environ 5MB pour la distribution des sources pendant la compilation 
     231                        et l'installation. 
     232                </para> 
     233 
     234                <note> 
     235                        <para> 
     236                                Dans la version 1.1 de 
     237                                &slony1; 
     238                                , il est possible de compiler 
     239                                &slony1; 
     240                                séparemment de 
     241                                &postgres;, rendant libres les distributions 
     242                                <productname>Linux</productname> 
     243                                et 
     244                                <productname>FreeBSD</productname> 
     245                                d'inclure des packages binaires précompilés pour 
     246                                &slony1;. Si de tels packages ne sont pas disponibles, vous devez 
     247                                vous préparer à compiler 
     248                                &slony1; 
     249                                par vous-même. 
     250                        </para> 
     251                </note> 
     252        </sect2> 
     253 
     254        <sect2> 
     255                <title> 
     256                        Obtenir les sources de 
     257                        &slony1; 
     258                </title> 
     259 
     260                <indexterm> 
     261                        <primary> 
     262                                téléchargement des sources de 
     263                                &slony1; 
     264                        </primary> 
     265                </indexterm> 
     266 
     267                <para> 
     268                        Vous pouvez obtenir les sources de 
     269                        &slony1; 
     270                        à partir de l'url 
     271                        <ulink url="http://main.slony.info/downloads/"> 
     272                                http://main.slony.info/downloads/ 
     273                        </ulink> 
     274                </para> 
     275 
     276        </sect2> 
     277 
     278        <sect2 id="encoding"> 
     279                <title>Encodage base de données</title> 
     280 
     281                <indexterm> 
     282                        <primary>Encodage base de données</primary> 
     283                </indexterm> 
     284 
     285                <para> 
     286                         
     287                        Les bases de données &postgres; peuvent être créés avec plusieurs types d'encodage, 
     288                        défini par la commande 
     289                        <command> 
     290                                createdb --encoding=$ENCODING databasename 
     291                        </command> 
     292                        . 
     293                        &slony1; 
     294                        suppose que les bases de données utilisent des encodages 
     295                        <emphasis>identiques.</emphasis> 
     296                </para> 
     297 
     298                <para> 
     299                        Des encodages 
     300                        <quote>trÚs proches</quote> 
     301                        peuvent ne provoquer aucun problÚme. 
     302                        Par exemple, si le systÚme d'origine utilise 
     303                        <envar>LATIN1</envar> 
     304                        et un abonné 
     305                        <envar>SQL_ASCII</envar> 
     306                        et un autre abonné 
     307                        <envar>UNICODE</envar> 
     308                        , et que votre application ne dépasse pas les conditions limites de frontiÚre 
     309                        entre ces différents encodages, vous pouvez ne jamais rencontrer 
     310                        de problÚme. 
     311                </para> 
     312 
     313                <para> 
     314                        Dans la version 8.1 de 
     315                        &postgres; 
     316                        , des modificatrions ont été apportées à l'encodage 
     317                        <envar>UNICODE</envar> 
     318                        car les versions précédentes acceptaient des encodages invalides. 
     319                        Cela peut induire des 
     320                        <link linkend="faqunicode">problÚmes de replication.</link> 
     321                </para> 
     322 
     323                <para> 
     324                        Notez que si l'encodage client (configuré soit 
     325                        dans 
     326                        <filename>postgresql.conf</filename> 
     327                        , par le paramÚtre 
     328                        <envar>client_encoding</envar> 
     329                        , ou soit par la commande 
     330                        <application>psql</application> 
     331                        <command>\encoding</command> 
     332                        , ou sous 
     333                        <application>psql</application> 
     334                        par la variable interne 
     335                        <envar>ENCODING</envar> 
     336                        ) diffÚre de l'encodage serveur, cette différence peut conduire 
     337                        &slony1; 
     338                        a être incapable de répliquer ces caractÚres supportés par l'encodage 
     339                        client et non pas par celui du serveur. 
     340                </para> 
     341 
     342        </sect2> 
     343 
     344        <sect2 id="times"> 
     345                <title>Synchronisation horloge</title> 
     346 
     347                <indexterm> 
     348                        <primary>Synchronisation horloge</primary> 
     349                </indexterm> 
     350 
     351                <para> 
     352                        Tous les serveurs utilisés dans le cluster de réplication doivent avoir 
     353                        leurs horloges internes synchronisées. Cela garantie que 
     354                        <xref linkend="slon" /> 
     355                        ne génÚre pas d'erreur indiquant qu'un 
     356                        abonné est en avance par rapport à son fournisseur pendant 
     357                        la réplication. L'interprétation des logs sur des serveurs ayant une idée différente du temps 
     358                        est source de confusion et de frustration. 
     359                        Il est recommandé de faire tourner le démon 
     360                        <application>ntpd</application> 
     361                        sur tous les noeuds, où les noeuds abonnés utilisent le noeud 
     362                        <quote>maître</quote> 
     363                        comme serveur de temps. 
     364                </para> 
     365 
     366                <para> 
     367                        Il est possible pour 
     368                        &slony1; 
     369                        de fonctionner avec des différences de temps, 
     370                        mais avoir des systÚmes 
     371                        <quote>synchonisés</quote> 
     372                        est normalement trÚs important pour les applications distribuées. 
     373                </para> 
     374 
     375                <para> 
     376                        Voir 
     377                        <ulink url="http://www.ntp.org/">www.ntp.org</ulink> 
     378                        pour plus de détail au sujet de NTP (Network Time Protocol). 
     379                </para> 
     380 
     381                <para> 
     382                        Quelques utilisateurs ont reporté des problÚmes 
     383                        lors de l'utilisation de certaines zones de temps, non reconnues par 
     384                        &postgres; 
     385                        . 
     386                        <itemizedlist> 
     387 
     388                                <listitem> 
     389                                        <para> 
     390                                                Sur 
     391                                                <productname>AIX</productname> 
     392                                                , 
     393                                                <command> 
     394                                                        <envar>TZ</envar> 
     395                                                        =CUT0 
     396                                                </command> 
     397                                                était non reconnu, conduisant à des échecs d'appels systÚme lors de la 
     398                                                recherche de timestamps. 
     399                                        </para> 
     400 
     401                                        <para> 
     402                                                <command>CUT0</command> 
     403                                                est une variante pour décrire 
     404                                                <command>UTC</command> 
     405                                        </para> 
     406                                </listitem> 
     407 
     408                                <listitem> 
     409                                        <para> 
     410                                                Quelques zones de temps ne sont pas encore incluses 
     411                                                dans 
     412                                                &postgres;. 
     413                                        </para> 
     414                                </listitem> 
     415 
     416                        </itemizedlist> 
     417                </para> 
     418 
     419                <para> 
     420                        Dans tous les cas, ce qui semble être communément une  
     421                        <quote>bonne pratique</quote> 
     422                        avec 
     423                        &slony1; 
     424                        (et, pour nous 
     425                        &postgres;) est d'utiliser pour l'utilisateur postmaster et/ou l'utilisateur sous lequel 
     426                        <application>slon</application> 
     427                        tourne 
     428                        <command> 
     429                                <envar>TZ</envar> 
     430                                =UTC 
     431                        </command> 
     432                        ou 
     433                        <command> 
     434                                <envar>TZ</envar> 
     435                                =GMT 
     436                        </command> 
     437                        . Ces zones de temps sont supportées de maniÚre 
     438                        <emphasis>sûres</emphasis> 
     439                        par n'importe quelle plate-forme, et ont le mérite par rapport à des timezones 
     440                        <quote>locaux</quote> 
     441                        et de ne jamais s'envoler par rapport aux changements heures été-hiver. 
     442                </para> 
     443 
     444        </sect2> 
     445 
     446        <sect2> 
     447                <title>Connexions réseau</title> 
     448 
     449                <indexterm> 
     450                        <primary>Connexions réseau</primary> 
     451                </indexterm> 
     452 
     453                <para> 
     454                        Il est nécessaire que les noeuds devant être répliqués entre eux aient des communications réseau 
     455                        <emphasis>bidirectionnelles</emphasis> 
     456                        entre les instances 
     457                        &postgres; 
     458                        . Ainsi, si le noeud B est en train de répliquer les données du noeud A 
     459                        , il est nécessaire qu'il y ai un chemin de A vers B et de B vers A. 
     460                        Il est recommandé que, dans la mesure du possible, tous les 
     461                        noeuds du cluster 
     462                        &slony1; 
     463                        permettent ce type de communication bidirectionnelle 
     464                        de n'importe quel noeud du cluster vers n'importe quel autre noeud du cluster. 
     465                </para> 
     466 
     467                <para> 
     468                        Pour faciliter la configuration, les adresses réseau devraient être 
     469                        idéalement identiques à travers tous les noeuds. 
     470                        <xref linkend="stmtstorepath" /> 
     471                        leurs permet d'être différentes, mais le maintien de ces différents paths 
     472                        pointant sur le même serveur peut être trÚs problématique. 
     473                </para> 
     474 
     475                <para> 
     476                        Un contournement possible de cela, dans les environnements où 
     477                        les rÚgles de firewall sont particuliÚrement difficiles à implémenter, peut 
     478                        être d'établir des tunnels SSH 
     479                        <ulink 
     480                                url="http://www.brandonhutchinson.com/ssh_tunnelling.html" 
     481                                id="tunnelling"> 
     482                                SSH Tunnels 
     483                        </ulink> 
     484                        crés sur chaque host permettant un accÚs distant 
     485                        au travers d'une adresse IP locale telle 127.0.0.1, en utilisant un 
     486                        port différent pour chaque destination. 
     487                </para> 
     488 
     489                <para> 
     490                        Notez que 
     491                        <application>slonik</application> 
     492                        et les instances 
     493                        <application>slon</application> 
     494                        ne nécessitent pas de connexions ou de protocoles spéciaux pour 
     495                        communiquer ensemble; ils nécessitent simplement un accÚs aux bases de données 
     496                        &postgres; 
     497                        , en s'y connectant comme 
     498                        <quote>superuser</quote> 
     499                        <link linkend="morethansuper"> 
     500