Documentation PostgreSQL 8.3.1 The PostgreSQL Global Development Group ------------------------------------------------------------------------------- Chapitre�1.�Proc�dure d'installation de PostgreSQL™ 1.1._Version_courte 1.2._Pr�requis 1.3._Obtenir_les_sources 1.4._Mise_�_jour 1.5._Proc�dure_d'installation 1.6._Initialisation_post-installation 1.7._D�marrer 1.8._Et_maintenant_? 1.9._Plateformes_support�es Ce document chapitre d�crit l'installation de PostgreSQL™ � partir du code source (si vous installez une distribution pr�par�e, tels qu'un paquetage RPM ou Debian, vous pouvez ignorer ce document chapitre et lire � la place les instructions du mainteneur du paquetage). 1.1.�Version courte ./configure gmake su gmake install adduser postgres mkdir /usr/local/pgsql/data chown postgres /usr/local/pgsql/data su - postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 & /usr/local/pgsql/bin/createdb test /usr/local/pgsql/bin/psql test Le reste du document chapitre est la version longue. 1.2.�Pr�requis En g�n�ral, les plateformes style unix modernes doivent �tre capables d'ex�cuter PostgreSQL™. Les plateformes sur lesquelles des tests ont �t� effectu�es sont list�es dans la Section�1.9,_��Plateformes support�es�� ci-apr�s. Dans le r�pertoire doc de la distribution, il y a plusieurs FAQ sp�cifiques � des plateformes particuli�res que vous pouvez consulter si vous avez des probl�mes. Les logiciels suivants sont n�cessaires pour compiler PostgreSQL™ : * GNU make est n�cessaire ; les autres programmes make ne devraient pas fonctionner. GNU make est souvent install� sous le nom gmake ; ce document fera toujours r�f�rence � lui sous ce nom (sur certains syst�me, GNU make est l'outil par d�faut et est nomm� make). Pour savoir quelle version vous utilisez, saisissez gmake --version Il est recommand� d'avoir une version post�rieure � la version 3.76.1. * Il est n�cessaire d'avoir un compilateur C ISO/ANSI. Une version r�cente de GCC™ est recommand�e mais PostgreSQL™ est connu pour �tre compilable avec de nombreux compilateurs de divers vendeurs. * tar est requis pour d�baller la distribution des sources avec soit gzip soit bzip2. * La biblioth�que GNU Readline™ est utilis�e par d�faut (pour une �dition facile des lignes et une recherche de l'historique des commandes). Si vous ne voulez pas l'utiliser, il vous faut sp�cifier --without-readline au moment d'ex�cuter la commande configure. Une alternative possible est l'utilisation de la biblioth�qe libedit sous license BSD, d�velopp�e au d�but sur NetBSD™. La biblioth�que libedit est compatible GNU Readline™ et est utilis�e si cette derni�re n'est pas trouv�e ou si - -with-libedit-preferred est utilis� sur la ligne de commande de configure. Si vous utilisez une distribution Linux bas�e sur des paquetages, faites attention au fait que vous aurez besoin � la fois des paquetages readline et readline-devel s'ils sont s�par�s dans votre distribution. * La biblioth�que de compression zlib™ sera utilis�e par d�faut. Si vous ne voulez pas l'utiliser, alors vous devez sp�cifier l'option -- without-zlib � configure. Utiliser cette option d�sactive le support des archives compress�es dans pg_dump et pg_restore. Les paquetages suivants sont optionnels. Ils ne sont pas obligatoires pour une compilation par d�faut mais le sont lorsque certaines options sont utilis�es ainsi que c'est expliqu� par la suite. * Pour installer le langage de proc�dures PL/Perl, vous devez avoir une installation de Perl™ compl�te, comprenant la biblioth�que libperl et les fichiers d'en-t�te. Comme PL/Perl est une biblioth�que partag�e, la biblioth�que libperl doit aussi �tre partag�e sur la plupart des plateformes. Ce qui n'est le cas que dans les versions r�centes de Perl™ et, dans tous les cas, c'est le choix de ceux qui installent Perl. Si vous n'avez pas de biblioth�que partag�e alors qu'il vous en faut une, un message tel que celui-ci appara�tra durant la compilation pour vous en avertir : *** Cannot build PL/Perl because libperl is not a shared library. *** You might have to rebuild your Perl installation. Refer to *** the documentation for details. (Si vous ne suivez pas la sortie �cran, vous pourrez constater que la biblioth�que plperl.so de PL/Perl, ou similaire, n'est pas install�e.) Si c'est le cas, il vous faudra recompiler et r�-installer Perl™ manuellement pour �tre capable de compiler PL/Perl. Lors de la phase de configuration de Perl™, demandez que les biblioth�ques soient partag�es. * Pour compiler le langage de proc�dures PL/Python, il faut que Python™ soit install� avec les fichiers d'en-t�te et le module distutils. Le module distutils est inclus par d�faut avec Python™ 1.6 et les versions suivantes ; les utilisateurs des versions pr�c�dentes de Python™ auront besoin de l'installer. Puisque PL/Python devra �tre une biblioth�que partag�e, la biblioth�que libpython doit l'�tre aussi sur la plupart des plateformes. Ce n'est pas le cas pour une installation par d�faut de Python. Si, apr�s la compilation et l'installation, vous avez un fichier nomm� plpython.so (des extensions diff�rentes sont possibles), alors tout va pour le mieux. Sinon, vous devriez avoir vu un avertissement semblable � : *** Cannot build PL/Python because libpython is not a shared library. *** You might have to rebuild your Python installation. Refer to *** the documentation for details. Ce qui signifie que vous devez recompiler Python™ (ou une partie) pour activer cette biblioth�que partag�e. Si vous avez des probl�mes, lancez le configure de Python™ 2.3 ou d'une version suivante en utilisant le commutateur --enable-shared. Sur certains syst�mes d'exploitation, vous n'avez pas besoin de construire une biblioth�que partag�e mais vous devrez convaincre le syst�me de construction de PostgreSQL™ sur ce point. Consultez le fichier Makefile dans le r�pertoire src/pl/plpython pour des d�tails suppl�mentaires. * Si vous voulez construire le langage de proc�dure PL/Tcl, vous avez besoin que Tcl™ soit install�. Si vous utilisez une version ant�rieure � la version 8.4 de Tcl™, assurez-vous qu'il a �t� construit sans le support du multi-thread. * Pour activer le support de langage natif (NLS), qui permet d'afficher les messages dans une langue autre que l'anglais, vous avez besoin d'une impl�mentation de l'API Gettext. Certains syst�mes d'exploitation l'ont int�gr� (par exemple, Linux, NetBSD, Solaris). Pour les autres syst�mes, vous pouvez t�l�charger les paquetages n�cessaires sur http://developer.postgresql.org/~petere/bsd-gettext. Si vous utilisez l'impl�mentation de Gettext des biblioth�ques C GNU, vous devrez en plus utiliser le paquetage GNU Gettext™ pour certains utilitaires. Pour toutes les autres impl�mentations, vous n'en avez pas besoin. * Kerberos, OpenSSL™, OpenLDAP™ ou PAM si vous voulez une authentification ou un chiffrement en utilisant ces services. Si vous compilez � partir d'une arborescence CVS au lieu d'utiliser un paquetage contenant les sources, ou si vous faites du d�veloppement, vous aurez aussi besoin des paquetages suivants : * GNU Flex et Bison sont n�cessaires pour compiler � partir d'une r�cup�ration du CVS ou si vous modifiez les fichiers de recherche et d'analyse. Si vous en avez besoin, v�rifiez que vous avez Flex 2.5.4 ou post�rieur et Bison 1.875 ou post�rieur. D'autres programmes yacc peuvent parfois d'�tre utilis�s, ce qui n'est pas recommand� vu les efforts suppl�mentaires que cela demande. D'autres programmes lex ne fonctionneront d�finitivement pas. Si vous avez besoin de paquetages GNU, vous pourrez les trouver sur un site miroir de GNU (voir http://www.gnu.org/order/ftp.html pour en avoir la liste) ou sur ftp://ftp.gnu.org/gnu/. V�rifiez aussi que vous avez assez d'espace disque de disponible. Il vous faudra 65 Mo pour l'espace de compilation et 15 Mo pour le r�pertoire d'installation. Une base de donn�es vide en cluster n�cessite 25 Mo, les fichiers de la base prenant cinq fois plus d'espace que des fichiers texte contenant les m�mes donn�es. Si vous voulez faire des tests de r�gression, vous aurez besoin temporairement de 90 Mo suppl�mentaires. Utilisez la commande df pour v�rifier l'espace disque. 1.3.�Obtenir les sources Les sources de PostgreSQL™ 8.3.1 peuvent �tre obtenues par ftp anonyme � ftp://ftp.postgresql.org/pub/source/v8.3.1/postgresql-8.3.1.tar.gz. D'autres options de t�l�chargement sont possibles � partir de notre site web : http://www.postgresql.org/download/. Apr�s avoir obtenu le fichier, d�compressez-le : gunzip postgresql-8.3.1.tar.gz tar xf postgresql-8.3.1.tar Cela cr�era un r�pertoire postgresql-8.3.1 contenant les sources de PostgreSQL™ dans le r�pertoire courant. Allez dans ce nouveau r�pertoire pour continuer la proc�dure d'installation. 1.4.�Mise � jour Ces instructions supposent que votre installation existante se trouve dans le r�pertoire /usr/local/pgsql, et que l'aire de donn�es est dans /usr/local/ pgsql/data. Modifiez les chemins de fa�on appropri�. Le format de stockage interne des donn�es change typiquement � chaque version majeure de PostgreSQL™. Du coup, si vous mettez � jour une installation existante qui n'a pas le num�ro de version ��8.3.x��, vous devez sauvegarder et restaurer vos donn�es. Si vous mettez � jour � partir de PostgreSQL™ ��8.3.x��, la nouvelle version peut utiliser vos fichiers de donn�es actuels, donc vous pouvez ignorer les �tapes de sauvegarde et de restauration ci-dessous parce qu'elles sont inutiles. 1. Dans le cas de la r�alisation d'une sauvegarde, assurez-vous que votre base de donn�es est en cours de mise � jour. Ceci n'affecte pas l'int�grit� de la sauvegarde mais les donn�es modifi�es seraient bien s�r non inclus. Si n�cessaire, �ditez les droits dans le fichier /usr/local/pgsql/data/pg_hba.conf (ou son �quivalent) pour interdire l'acc�s � tous sauf vous. Pour effectuer une sauvegarde de votre base, saisissez : pg_dumpall > fichierdesortie Si vous souhaitez conserver les identifiants d'objets (lorsqu'ils sont utilis�s comme cl� �trang�re), utilisez l'option -o lors de l'ex�cution de pg_dumpall. Pour effectuer une sauvegarde, vous pouvez ex�cuter la commande pg_dumpall incluse dans la distribution de votre version actuelle. Cependant, pour de meilleurs r�sultats, essayez d'utiliser la commande pg_dumpall contenue dans PostgreSQL™ 8.3.1 puisqu'elle corrige les erreurs des versions pr�c�dentes. Ce conseil est absurde tant que vous n'avez pas encore install� la nouvelle version. Il devient valable si vous souhaitez installer la nouvelle version en parall�le. Dans ce cas, vous pouvez faire l'installation normalement et ne transf�rer les donn�es qu'apr�s, ce qui r�duira le temps d'indisponibilit�. 2. Arr�tez l'ancien serveur : pg_ctl stop Sur les syst�mes qui lancent PostgreSQL™ au d�marrage, il y a probablement un fichier de d�marrage qui peut faire la m�me chose. Par exemple, sur un syst�me Red Hat Linux, la commande /etc/rc.d/init.d/postgresql stop devrait fonctionner. Une autre possibilit� est pg_ctl stop. 3. En cas de restauration d'une sauvegarde, renommer ou supprimer l'installation d'un r�pertoire. Il est pr�f�rable de renommer le r�pertoire plut�t que de le supprimer, au cas o� vous auriez des probl�mes et que vous auriez besoin d'y revenir. Gardez en t�te que le r�pertoire peut prendre beaucoup d'espace disque. Pour renommer le r�pertoire, utilisez une commande comme celle-ci : mv /usr/local/pgsql /usr/local/pgsql.old 4. Installez la nouvelle version de PostgreSQL™ comme indiqu�e dans la prochaine section Section�1.5,_��Proc�dure_d'installation��. 5. Cr�ez un nouveau cluster de bases de donn�es. Rappelez-vous que vous devez ex�cuter ces commandes en utilisant le compte superutilisateur initial (que vous avez d�j� si vous mettez � jour). /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data 6. Restaurez votre pr�c�dent pg_hba.conf et toutes les modifications de postgresql.conf. 7. Lancez le serveur de bases de donn�es, de nouveau � partir du compte superutilisateur : /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data 8. Enfin, restaurez vos donn�es � partir de votre sauvegarde avec : /usr/local/pgsql/bin/psql -d postgres -f outputfile en utilisant le nouveau psql. Des informations suppl�mentaires apparaissent dans la documentation ??? incluant les instructions sur la fa�on dont l'installation pr�c�dente peut continuer � s'ex�cuter alors que le nouvelle est install�e. 1.5.�Proc�dure d'installation 1. Configuration La premi�re �tape de la proc�dure d'installation est de configurer votre arborescence syst�me et de choisir les options qui vous int�ressent. Ce qui est fait en ex�cutant le script configure. Pour une installation par d�faut, entrez simplement ./configure Ce script ex�cutera de nombreux tests afin de d�terminer les valeurs de certaines variables d�pendantes du syst�me et de d�tecter certains al�as relatifs � votre syst�me d'exploitation. Il cr�era divers fichiers dans l'arborescence de compilation pour enregistrer ce qui a �t� trouv� (vous pouvez aussi ex�cuter configure � partir d'un r�pertoire hors de l'arborescence des sources si vous voulez conserver l'arborescence de compilation s�par�). La configuration par d�faut compilera le serveur et les utilitaires, aussi bien que toutes les applications clientes et interfaces qui requi�rent seulement un compilateur C. Tous les fichiers seront install�s par d�faut sous /usr/local/pgsql. Vous pouvez personnaliser les processus de compilation et d'installation en mettant une ou plusieurs options sur la ligne de commande apr�s configure : --prefix=PREFIX Installe tous les fichiers dans le r�pertoire PREFIX au lieu du r�pertoire /usr/local/pgsql. Les fichiers actuels seront install�s dans divers sous-r�pertoires ; aucun fichier ne sera directement install�s sous PREFIX. Si vous avez des besoins sp�cifiques, vous pouvez personnaliser les sous-r�pertoires � l'aide des options suivantes. N�anmoins, si vous les laissez vide avec leurs valeurs par d�faut, l'installation sera d�pla�able, ce qui signifie que vous pourrez bouger le r�pertoire apr�s installation (les emplacements de man et doc ne sont pas affect�s par ceci). Pour les installations d�pla�ables, vous pourriez vouloir utiliser l'option --disable-rpath de configure. De plus, vous aurez besoin d'indiquer au syst�me d'exploitation comment trouver les biblioth�ques partag�es. --exec-prefix=EXEC-PREFIX Vous pouvez installer les fichiers d�pendants de l'architecture dans un r�pertoire diff�rent, EXEC-PREFIX, de celui donn� par PREFIX. Ce qui peut �tre utile pour partager les fichiers d�pendants de l'architecture entre plusieurs machines. Si vous l'omettez, EXEC-PREFIX est �gal � PREFIX et les fichiers d�pendants seront install�s sous la m�me arborescence que les fichiers ind�pendants de l'architecture, ce qui est probablement ce que vous voulez. --bindir=REPERTOIRE Sp�cifie le r�pertoire des ex�cutables. Par d�faut, il s'agit de EXEC-PREFIX/bin, ce qui signifie /usr/local/pgsql/bin. --datadir=REPERTOIRE Pr�pare le r�pertoire pour des fichiers de donn�es en lecture seule utilis�s par les programmes d'installation. Par d�faut, il s'agit de PREFIX/share. Il est bon de noter que cela n'a rien � voir avec l'emplacement des fichiers de votre base de donn�es. --sysconfdir=REPERTOIRE Le r�pertoire contenant divers fichiers de configuration. Par d�faut, il s'agit de PREFIX/etc. --libdir=REPERTOIRE L'endroit o� installer les biblioth�ques et les modules chargeables dynamiquement. Par d�faut, il s'agit de EXEC-PREFIX/ lib. --includedir=REPERTOIRE Le r�pertoire o� sont install�es les en-t�tes C et C++. Par d�faut, il s'agit de PREFIX/include. --mandir=REPERTOIRE Les pages man fournies avec PostgreSQL™ seront install�es sous ce r�pertoire, dans leur sous-r�pertoire manx respectif. Par d�faut, il s'agit de PREFIX/man. --with-docdir=REPERTOIRE, --without-docdir Les fichiers de documentation, sauf les pages ��man��, seront install�s dans ce r�pertoire. Par d�faut, il s'agit de PREFIX/doc. Si l'option --without-docdir est sp�cifi�e, la documentation ne sera pas install�e par make install. Ceci est fait pour aider les scripts d'empaquetage ayant des m�thodes particuli�res pour installer la documentation. Note Une attention toute particuli�re a �t� prise afin de rendre possible l'installation de PostgreSQL™ dans des r�pertoires partag�s (comme / usr/local/include) sans interf�rer avec des noms de fichiers relatifs au reste du syst�me. En premier lieu, le mot ��/postgresql�� est automatiquement ajout� au r�pertoire datadir, sysconfdir et docdir, � moins que le nom du r�pertoire � partir de la racine contienne d�j� le mot ��postgres�� o� ��pgsql��. Par exemple, si vous choisissez /usr/local comme pr�fixe, la documentation sera install�e dans /usr/local/doc/postgresql, mais si le pr�fixe est /opt/ postgres, alors il sera dans /opt/postgres/doc. Les fichiers d'en-t�tes publiques C de l'interface cliente seront install�s sous includedir et sont propres par rapport aux noms de fichiers relatifs au reste du syst�me. Les fichiers d'en-t�tes priv�s et les fichiers d'en-t�tes du serveur sont install�s dans des r�pertoires priv�s sous includedir. Voir la documentation de chaque interface pour savoir comment obtenir ces fichiers d'en-t�te. Enfin, un r�pertoire priv� sera aussi cr�� si n�cessaire sous libdir pour les modules chargeables dynamiquement. --with-includes=REPERTOIRES REPERTOIRES est une liste de r�pertoires s�par�s par des caract�res deux points (:) qui sera ajout�e � la liste de recherche des fichiers d'en-t�te. Si vous avez des paquetages optionnels (tels que Readline GNU) install�s dans des r�pertoires non conventionnels, vous pouvez utiliser cette option et certainement l'option --with-libraries correspondante. Exemple : --with-includes=/opt/gnu/include:/usr/sup/include. --with-libraries=REPERTOIRES REPERTOIRES est une liste de recherche de r�pertoires de biblioth�ques s�par�s par des caract�res deux points (:). Vous aurez probablement � utiliser cette option (et l'option correspondante --with-includes) si vous avez des paquetages install�s dans des r�pertoires non conventionnels. Exemple : --with-libraries=/opt/gnu/lib:/usr/sup/lib. --enable-nls[=LANGUES] Permet de mettre en place le support des langues natives (NLS). C'est la possibilit� d'afficher les messages des programmes dans une langue autre que l'anglais. LANGUE est une liste de codes des langues que vous voulez supporter s�par�s par un espace. Par exemple, --enable-nls='de fr' (l'intersection entre votre liste et l'ensemble des langues traduites actuellement sera calcul�e automatiquement). Si vous ne sp�cifiez pas de liste, alors toutes les traductions disponibles seront install�es. Pour utiliser cette option, vous avez besoin d'une impl�mentation de l'API Gettext ; voir apr�s. --with-pgport=NUMERO Positionne NUMERO comme num�ro de port par d�faut pour le serveur et les clients. La valeur par d�faut est 5432. Le port peut toujours �tre chang� ult�rieurement mais, si vous le faites ici, alors les ex�cutables du serveur et des clients auront la m�me valeur par d�faut, ce qui est vraiment tr�s pratique. Habituellement, la seule bonne raison de choisir une valeur autre que celle par d�faut est que vous souhaitez ex�cuter plusieurs serveurs PostgreSQL™ sur la m�me machine. --with-perl Permet l'utilisation du langage de proc�dures PL/Perl c�t� serveur. --with-python Permet la compilation du langage de proc�dures PL/Python. --with-tcl Permet la compilation du langage de proc�dures PL/Tcl. --with-tclconfig=REPERTOIRE Tcl installe les fichiers tclConfig.sh, contenant certaines informations de configuration n�cessaires pour compiler le module d'interfa�age avec Tcl. Ce fichier est trouv� automatiquement mais, si vous voulez utiliser une version diff�rente de Tcl, vous pouvez sp�cifier le r�pertoire o� le trouver. --with-gssapi Construire avec le support de l'authentification GSSAPI. Sur de nombreux syst�mes, GSSAPI (qui fait habituellement partie d'une installation Kerberos) n'est pas install� dans un emplacement recherch� par d�faut (c'est-�-dire /usr/include, /usr/lib), donc vous devez utiliser les options --with-includes et --with- libraries en plus de cette option. configure v�rifiera les fichiers d'en-t�tes n�cessaires et les biblioth�ques pour s'assurer que votre installation GSSAPI est suffisante avant de continuer. --with-krb5 Compile le support d'authentification de Kerberos 5. Sur beaucoup de syst�mes, le syst�me Kerberos n'est pas install� � un emplacement recherch� par d�faut (c'est-�-dire /usr/include, / usr/lib), donc vous devez utiliser les options --with-includes et -- with-libraries en plus de cette option. configure v�rifiera les fichiers d'en-t�te et les biblioth�ques requis pour s'assurer que votre installation Kerberos est suffisante avant de continuer --with-krb-srvnam=NOM Le nom par d�faut du service principal de Kerberos (aussi utilis� par GSSAPI). postgres est pris par d�faut. Il n'y a habituellement pas de raison de le changer sauf dans le cas d'un environnement Windows, auquel cas il doit �tre mis en majuscule, POSTGRES. --with-openssl Compile le support de connexion SSL (chiffrement). Le paquetage OpenSSL™ doit �tre install�. configure v�rifiera que les fichiers d'en-t�te et les biblioth�ques soient install�s pour s'assurer que votre installation d'OpenSSL™ est suffisante avant de continuer. --with-pam Compile le support PAM (Modules d'Authentification Pluggable). --with-ldap Demande l'ajout du support de LDAP pour l'authentification et la recherche des param�tres de connexion (voir la documentation sur l'authentification des clients et libpq??? et ???). Sur Unix, cela requiert l'installation du paquet OpenLDAP™. configure v�rifiera l'existence des fichiers d'en-t�te et des biblioth�ques requis pour s'assurer que votre installation d'OpenLDAP™ est suffisante avant de continuer. Sur Windows, la biblioth�que WinLDAP™ est utilis�e par d�faut. --without-readline �vite l'utilisation de la biblioth�que Readline (et de celle de libedit). Cela d�sactive l'�dition de la ligne de commande et l'historique dans psql, ce n'est donc pas recommand�. --with-libedit-preferred Favorise l'utilisation de la biblioth�que libedit (sous licence BSD) plut�t que Readline (GPL). Cette option a seulement un sens si vous avez install� les deux biblioth�ques ; dans ce cas, par d�faut, Readline est utilis�. --with-bonjour Compile le support de Bonjour. Ceci requiert le support de Bonjour dans votre syst�me d'exploitation. Recommand� sur Mac OS X. --with-ossp-uuid Utilise la biblioth�que_OSSP_UUID lors de la construction du module contrib/uuid-ossp. Cette biblioth�que fournit des fonctions pour g�n�rer les UUID. --with-libxml Construit avec libxml (active le support SQL/XML). Une version 2.6.23 ou ult�rieure de libxml est requise pour cette fonctionnalit�. Libxml installe un programme xml2-config qui est utilis� pour d�tecter les options du compilateur et de l'�diteur de liens. PostgreSQL l'utilisera automatiquement si elle est trouv�e. Pour indiquer une installation de libxml dans un emplacement inhabituel, vous pouvez soit configurer la variable d'environnement XML2_CONFIG pour pointer vers le programme xml2-config appartenant � l'installation, ou utiliser les options --with-includes et --with- libraries. --with-libxslt Utilise libxslt pour construire contrib/xml2. Le module contrib/xml2 se base sur cette biblioth�que pour r�aliser les transformations XSL du XML. --enable-integer-datetimes Utilise le stockage des entiers sur 64 bits pour les types datetime et interval plut�t que le stockage par d�faut en virgule flottante. Ceci r�duit le nombre de valeurs repr�sentatives mais garantit une pr�cision � la microseconde sur toute l'�chelle de valeurs (voir la la documentation sur les types de donn�es date et heure??? pour plus d'informations). --disable-spinlocks Autorise le succ�s de la construction y compris lorsque PostgreSQL™ n'a pas le support spinlock du CPU pour la plateforme. Ce manque de support r�sultera en des performances faibles ; du coup, cette option devra seulement �tre utilis�e si la construction �choue et vous informe du manque de support de spinlock sur votre plateforme. Si cette option est requise pour construire PostgreSQL™ sur votre plateforme, merci de rapporter le probl�me aux d�veloppeurs de PostgreSQL™. --enable-thread-safety Rend les biblioth�ques clientes compatibles avec les threads. Ceci permet des threads concurrents dans les programmes libpq et ECPG ce qui leur permet de g�rer en toute s�ret� leur connexions priv�es. Cette option requiert un support ad�quat des threads sur votre syst�me d'exploitation. --with-system-tzdata=R�PERTOIRE PostgreSQL™ inclut sa propre base de donn�es des fuseaux horaires, n�cessaire pour les op�rations sur les dates et les heures. Cette base de donn�es est en fait compatible avec la base de fuseaux horaires ��zic�� fournie par de nombreux syst�mes d'exploitation comme FreeBSD, Linux et Solaris, donc ce serait redondant de l'installer une nouvelle fois. Quand cette option est utilis�e, la base des fuseaux horaires, fournie par le syst�me, dans R�PERTOIRE est utilis�e � la place de celle inclus dans la distribution des sources de PostgreSQL. R�PERTOIRE doit �tre indiqu� avec un chemin absolu. /usr/share/zoneinfo est un r�pertoire tr�s probable sur certains syst�mes d'exploitation. Notez que la routine d'installation ne d�tectera pas les donn�es de fuseau horaire diff�rentes ou erron�es. Si vous utilisez cette option, il vous est conseill� de lancer les tests de r�gression pour v�rifier que les donn�es de fuseau horaire que vous pointez fonctionnent correctement avec PostgreSQL™. Cette option a pour cible les distributeurs de paquets binaires qui connaissent leur syst�me d'exploitation. Le principal avantage d'utiliser cette option est que le package PostgreSQL n'aura pas besoin d'�tre mis � jour � chaque fois que les r�gles des fuseaux horaires changent. Un autre avantage est que PostgreSQL peut �tre cross-compil� plus simplement si les fichiers des fuseaux horaires n'ont pas besoin d'�tre construit lors de l'installation. --without-zlib �vite l'utilisation de la biblioth�que Zlib. Cela d�sactive le support des archives compress�es dans pg_dump et pg_restore. Cette option est seulement l� pour les rares syst�mes qui ne disposent pas de cette biblioth�que. --enable-debug Compile tous les programmes et biblioth�ques en mode de d�bogage. Cela signifie que vous pouvez ex�cuter les programmes via un d�bogueur pour analyser les probl�mes. Cela grossit consid�rablement la taille des ex�cutables et, avec des compilateurs autres que GCC, habituellement, cela d�sactive les optimisations du compilateur, provoquant des ralentissements. Cependant, mettre ce mode en place est extr�mement utile pour rep�rer les probl�mes. Actuellement, cette option est recommand�e pour les installations en production seulement si vous utilisez GCC. N�anmoins, vous devriez l'utiliser si vous d�veloppez ou si vous utilisez une version b�ta. --enable-profiling En cas d'utilisation de GCC, tous les programmes et biblioth�ques sont compil�s pour qu'elles puissent �tre profil�es. � la sortie du processus serveur, un sous-r�pertoire sera cr�� pour contenir le fichier gmon.out � utiliser pour le profilage. Cette option est � utiliser seulement avec GCC lors d'un d�veloppement. --enable-cassert Permet la v�rification des assertions par le serveur qui teste de nombreux cas de conditions ��impossibles��. Ce qui est inestimable dans le cas de d�veloppement, mais les tests peuvent ralentir sensiblement le syst�me. Activer cette option n'influe pas sur la stabilit� de votre serveur ! Les assertions v�rifi�es ne sont pas class�es par ordre de s�v�rit� et il se peut qu'un bogue anodin fasse red�marrer le serveur s'il y a un �chec de v�rification. Cette option n'est pas recommand�e dans un environnement de production mais vous devriez l'utiliser lors de d�veloppement ou pour les versions b�ta. --enable-depend Active la recherche automatique des d�pendances. Avec cette option, les fichiers makefile sont appel�s pour recompiler les fichiers objet d�s qu'un fichier d'en-t�te est modifi�. C'est pratique si vous faites du d�veloppement, mais inutile si vous ne voulez que compiler une fois et installer. Pour le moment, cette option ne fonctionne qu'avec GCC. --enable-dtrace Compile avec le support de l'outil de trace dynamique, DTrace. Le seul syst�me d'exploitation supportant DTrace pour l'instant est Solaris. Pour pointer vers le programme dtrace, la variable d'environnement DTRACE doit �tre configur�e. Ceci sera souvent n�cessaire car dtrace est typiquement install� sous /usr/sbin, qui pourrait ne pas �tre dans le chemin. Des options suppl�mentaires en ligne de commande peuvent �tre indiqu�es dans la variable d'environnement DTRACEFLAGS pour le programme dtrace. Pour inclure le support de DTrace dans un ex�cutable 64-bit, ajoutez l'option DTRACEFLAGS="-64" pour configure. Par exemple, en utilisant le compilateur GCC : ./configure CC='gcc -m64' --enable-dtrace DTRACEFLAGS='-64' ... En utilisant le compilateur de Sun : ./configure CC='/opt/SUNWspro/bin/cc -xtarget=native64' --enable- dtrace DTRACEFLAGS='-64' ... Si vous pr�f�rez utiliser un compilateur C diff�rent de ceux list�s par configure, positionnez la variable d'environnement CC pour qu'elle pointe sur le compilateur de votre choix. Par d�faut, configure pointe sur gcc s'il est disponible, sinon il utilise celui par d�faut de la plateforme (habituellement cc). De fa�on similaire, vous pouvez repositionner les options par d�faut du compilateur � l'aide de la variable CFLAGS. Vous pouvez sp�cifier les variables d'environnement sur la ligne de commande configure, par exemple : ./configure CC=/opt/bin/gcc CFLAGS='-O2 -pipe' Voici une liste des variables importantes qui sont configurables de cete fa�on : CC compilateur C CFLAGS options � passer au compilateur C CPP pr�processeur C CPPFLAGS options � passer au pr�processeur C DTRACE emplacement du programme dtrace DTRACEFLAGS options � passer au programme dtrace LDFLAGS options � passer � l'�diteur de liens LDFLAGS_SL options de l'�diteur de liens pour la cr�ation des liens des biblioth�ques partag�es MSGFMT programme msgfmt pour le support des langues PERL chemin complet vers l'interpr�teur Perl. Il sera utilis� pour d�terminer les d�pendances pour la construction de PL/Perl. PYTHON chemin complet vers l'interpr�teur Python. Il sera utilis� pour d�terminer les d�pendances pour la construction de PL/Python. TCLSH chemin complet vers l'interpr�teur Tcl. Il sera utilis� pour d�terminer les d�pendances pour la construction de PL/Tcl. XML2_CONFIG programme xml2-config utilis� pour localiser l'installation de libxml. YACC programme Yacc (bison -y si utilisation de Bison) 2. Compilation Pour d�marrer la compilation, saisissez gmake (Rappelez-vous d'utiliser GNU make). La compilation prendra quelques minutes, suivant de votre mat�riel. La derni�re ligne affich�e devrait �tre All of PostgreSQL is successfully made. Ready to install. 3. Tests de r�gression Si vous souhaitez tester le serveur nouvellement compile� avant de l'installer, vous pouvez ex�cuter les tests de r�gression � ce moment. Les tests de r�gression sont une suite de tests qui v�rifient que PostgreSQL™ fonctionne sur votre machine tel que les d�veloppeurs l'esp�rent. Saisissez gmake check (cela ne fonctionne pas en tant que root ; faites-le en tant qu'utilisateur sans droits). Le fichier src/test/regress/README et la documentation contiennentLe ??? contient des d�tails sur l'interpr�tation des r�sultats de ces tests. Vous pouvez les r�p�ter autant de fois que vous le voulez en utilisant la m�me commande. 4. Installer les fichiers Note Si vous mettez � jour une version existante et que vous placez les fichiers au m�me endroit que les anciens, assurez-vous d'avoir sauvegard� vos donn�es et arr�t� l'ancien serveur avant de continuer, comme l'explique la Section�1.4,_��Mise_�_jour�� ci-apr�s. Pour installer PostgreSQL™, saisissez gmake install Cela installera les fichiers dans les r�pertoires sp�cifi�s dans l'�tape_1. Assurez-vous d'avoir les droits appropri�s pour �crire dans ces r�pertoires. Normalement, vous avez besoin d'�tre superutilisateur pour cette �tape. Une alternative consiste � cr�er les r�pertoires cibles � l'avance et � leur donner les droits appropri�es. Vous pouvez utiliser gmake install-strip en lieu et place de gmake install pour d�pouiller l'installation des ex�cutables et des biblioth�ques. Cela �conomise un peu d'espace disque. Si vous avez effectu� la compilation en mode de d�bogage, ce d�pouillage l'enl�vera, donc ce n'est � faire seulement si ce mode n'est plus n�cessaire. install- strip essaie d'�tre raisonnable en sauvegardant de l'espace disque mais il n'a pas une connaissance parfaite de la fa�on de d�pouiller un ex�cutable de tous les octets inutiles. Ainsi, si vous voulez sauvegarder le maximum d'espace disque, vous devrez faire le travail � la main. L'installation standard fournit seulement les fichiers en-t�tes n�cessaires pour le d�veloppement d'applications clientes ainsi que pour le d�veloppement de programmes c�t� serveur comme des fonction personnelles ou des types de donn�es �crits en C (avant PostgreSQL™ 8.0, une commande gmake install-all-headers s�par�e �tait n�cessaire pour ce dernier point mais cette �tape a �t� int�gr�e � l'installation standard). Installation du client uniquement :� Si vous voulez uniquement installer les applications clientes et les biblioth�ques d'interface, alors vous pouvez utilisez ces commandes : gmake -C src/bin install gmake -C src/include install gmake -C src/interfaces install gmake -C doc install src/bin comprend quelques ex�cutables utilis�s seulement par le serveur mais ils sont petits. Enregistrer eventlog sur Windows :� Pour enregistrer une biblioth�que eventlog sur Windows gr�ce au syst�me d'exploitation, ex�cutez cette commande apr�s l'installation : regsvr32 pgsql_library_directory/pgevent.dll Ceci cr�e les entr�es du registre utilis�es par le visualisateur d'�v�nements. D�sinstallation :� Pour d�sinstaller, utilisez la commande gmake uninstall. Cependant, cela ne supprimera pas les r�pertoires cr��s. M�nage :� Apr�s l'installation, vous pouvez faire le m�nage en supprimant les fichiers issus de la compilation des r�pertoires sources � l'aide de la commande gmake clean. Cela conservera les fichiers cr��s par la commande configure, ainsi vous pourrez tout recompiler ult�rieurement avec gmake. Pour remettre l'arborescence source dans l'�tat initial, utilisez gmake distclean. Si vous voulez effectuer la compilation pour diverses plateformes � partir des m�mes sources vous devrez d'abord refaire la configuration � chaque fois (autrement, utilisez un r�pertoire de construction s�par� pour chaque plateforme, de fa�on � ce que le r�pertoire des sources reste inchang�). Si vous avez compil� et que vous vous �tes rendu compte que les options de configure sont fausses ou si vous changez quoique ce soit que configure prenne en compte (par exemple, la mise � jour d'applications), alors faire un gmake distclean avant de reconfigurer et recompiler est une bonne id�e. Sans �a, vos changements dans la configuration ne seront pas r�percut�s partout o� il faut. 1.6.�Initialisation post-installation 1.6.1. Biblioth�ques partag�es Sur certains syst�mes qui utilisent les biblioth�ques partag�es (ce que font de nombreux syst�mes), vous avez besoin de leurs sp�cifier comment trouver les nouvelles biblioth�ques partag�es. Les syst�mes sur lesquels ce n'est pas n�cessaire comprennent BSD/OS, FreeBSD, HP-UX, IRIX, Linux, NetBSD, OpenBSD, Tru64 UNIX (formellement Digital UNIX) et Solaris. La m�thode pour le faire varie selon la plateforme, mais la m�thode la plus r�pandue consiste � positionner des variables d'environnement comme LD_LIBRARY_PATH : avec les shells Bourne (sh, ksh, bash, zsh) : LD_LIBRARY_PATH=/usr/local/pgsql/lib export LD_LIBRARY_PATH ou en csh ou tcsh : setenv LD_LIBRARY_PATH /usr/local/pgsql/lib Remplacez /usr/local/pgsql/lib par la valeur donn�e � --libdir dans l'�tape_1. Vous pouvez mettre ces commandes dans un script de d�marrage tel que /etc/profile ou ~/.bash_profile. Certaines informations pertinentes au sujet de mises en garde associ�es � cette m�thode peuvent �tre trouv�es sur http://www.visi.com/~barr/ldpath.html. Sur certains syst�mes, il peut �tre pr�f�rable de renseigner la variable d'environnement LD_RUN_PATH avant la compilation. Avec Cygwin, placez le r�pertoire des biblioth�ques dans la variable PATH ou d�placez les fichiers .dll dans le r�pertoire bin. En cas de doute, r�f�rez-vous aux pages de man de votre syst�me (peut- �tre ld.so ou rld). Si vous avez ult�rieurement un message tel que psql: error in loading shared libraries libpq.so.2.1: cannot open shared object file: No such file or directory alors cette �tape est vraiment n�cessaire. Faites-y attention. Si votre syst�me d'exploitation est BSD/OS, Linux ou SunOS 4 et que vous avez les acc�s de superutilisateur, vous pouvez ex�cuter : /sbin/ldconfig /usr/local/pgsql/lib (ou le r�pertoire �quivalent) apr�s l'installation pour permettre � l'�diteur de liens de trouver les biblioth�ques partag�es plus rapidement. R�f�rez-vous aux pages man portant sur ldconfig pour plus d'informations. Pour les syst�mes d'exploitation FreeBSD, NetBSD et OpenBSD, la commande est : /sbin/ldconfig -m /usr/local/pgsql/lib Les autres syst�mes d'exploitation ne sont pas connus pour avoir de commande �quivalente. 1.6.2. Variables d'environnement Si l'installation a �t� r�alis�e dans /usr/local/pgsql ou � un autre endroit qui n'est pas dans les r�pertoires contenant les ex�cutables par d�faut, vous devez ajouter /usr/local/pgsql/bin (ou le r�pertoire fourni � --bindir au moment de l'�tape_1) dans votre PATH. Techniquement, ce n'est pas une obligation mais cela rendra l'utilisation de PostgreSQL™ plus confortable. Pour ce faire, ajoutez ce qui suit dans le fichier d'initialisation de votre shell, par exemple ~/.bash_profile (ou /etc/profile, si vous voulez que tous les utilisateurs l'aient) : PATH=/usr/local/pgsql/bin:$PATH export PATH Si vous utilisez le csh ou le tcsh, alors utilisez la commande : set path = ( /usr/local/pgsql/bin $path ) Pour que votre syst�me trouve la documentation man, il vous faut ajouter des lignes telles que celles qui suivent � votre fichier d'initialisation du shell, � moins que vous installiez ces pages dans un r�pertoire o� elles sont mises normalement : MANPATH=/usr/local/pgsql/man:$MANPATH export MANPATH Les variables d'environnement PGHOST et PGPORT indiquent aux applications clientes l'h�te et le port du serveur de base. Elles surchargent les valeurs utilis�es lors de la compilation. Si vous ex�cutez des applications clientes � distance, alors c'est plus pratique si tous les utilisateurs peuvent param�trer PGHOST. Ce n'est pas une obligation, cependant, la configuration peut �tre communiqu�e via les options de lignes de commande � la plupart des programmes clients. 1.7.�D�marrer La suite est un r�sum� rapide de la fa�on de faire fonctionner PostgreSQL™ une fois l'installation termin�e. La documentation principale contient plus d'informations. 1. Cr�er un compte utilisateur pour le serveur PostgreSQL™. C'est cet utilisateur qui fera d�marrer le serveur. Pour un usage en production, vous devez cr�er un compte sans droits (��postgres�� est habituellement utilis�). Si vous n'avez pas les acc�s superutilisateur ou si vous voulez juste regarder, votre propre compte utilisateur est suffisant. Mais, utiliser le compte superutilisateur pour d�marrer le serveur est risqu� (au point de vue s�curit�) et ne fonctionnera pas. adduser postgres 2. Faire l'installation de la base de donn�es avec la commande initdb. Pour ex�cuter initdb, vous devez �tre connect� sur votre serveur avec le compte PostgreSQL™. Cela ne fonctionnera pas avec le compte superutilisateur. root# mkdir /usr/local/pgsql/data root# chown postgres /usr/local/pgsql/data root# su - postgres postgres$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data L'option -D sp�cifie le r�pertoire o� les donn�es seront stock�es. Vous pouvez utiliser le chemin que vous voulez, il n'a pas � �tre sous le r�pertoire de l'installation. Avant de lancer initdb, assurez-vous que le compte serveur peut �crire dans ce r�pertoire (ou le cr�er s'il n'existe pas), comme c'est montr� ici. 3. � ce moment, si vous n'utilisez pas l'option -A de initdb, vous devez modifier le fichier pg_hba.conf pour contr�ler les acc�s en local du serveur avant de le lancer. La valeur par d�faut est de faire confiance � tous les utilisateurs locaux. 4. L'�tape initdb pr�c�dente vous a indiqu� comment d�marrer le serveur de base. Maintenant, faites-le. La commande doit ressembler � : /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data Cela d�marrera le serveur en avant-plan. Pour le mettre en arri�re plan faites quelque chose comme : nohup /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data \ >server.log 2>&1 . Si vous �tes int�ress� pour porter PostgreSQL™ sur une nouvelle plateforme, est l'endroit appropri� pour en discuter.