PostgreSQLLa base de données la plus sophistiquée au monde.

16. Installation à partir du code source sur Windows

Il est recommandé que la plupart des utilisateurs téléchargent la distribution binaire pour Windows, disponible sous la forme d'un package Windows Installer™ à partir du site web de PostgreSQL™. Construire à partir des sources a pour seule cible les personnes qui développent PostgreSQL™ ou des extensions.

Il existe différentes façons de construire PostgreSQL sur Windows™. Le système complet peut être construit en utilisant MinGW™ ou Visual C++ 2005™. Il peut aussi être construit pour les anciennes versions de Windows™ en utilisant Cygwin™. Enfin, la bibliothèque d'accès pour les clients (libpq) peut être construit en utilisant Visual C++ 7.1™ ou Borland C++™ pour la compatibilité avec des applications liées statiquement en utilisant ces outils.

La construction par MinGW™ ou Cygwin™ utilise le système habituel de construction, voir Chapitre 15, Procédure d'installation de PostgreSQL du code source et les notes spécifiques dans Section 15.10.5, « MinGW/Windows Natif » et Section 15.10.2, « Cygwin ». Cygwin™ n'est pas recommandé, et devrait seulement être utilisé pour les anciennes versions de Windows™ où la construction native ne fonctionne pas, comme par exemple Windows 98™.

16.1. Construire avec Visual C++ 2005

Les outils pour construire en utilisant Visual C++ 2005™ se trouvent dans le répertoire src/tools/msvc. Lors de la construction, assurez-vous qu'il n'y a pas d'outils provenant de MinGW™ ou Cygwin™ dans le chemin (PATH) de votre environnement. De plus, assurez-vous que vous disposez de tous les outils requis de Visual C++ et que ces derniers sont bien dans le PATH. Cela se fait simplement en lançant Visual Studio Command Prompt et en exécutant les commandes à partir de là. Toutes les commandes doivent être exécutées à partir du répertoire src\tools\msvc.

Avant de commencer la construction, éditez le fichier config.pl pour préciser vos options de configuration, ceci incluant les chemins vers les bibliothèques utilisées. Si vous avez besoin de configurer d'autres variables d'environnement, créez un fichier appelé buildenv.pl et placez-y les commandes souhaitées. Par exemple, pour ajouter le chemin vers bison s'il ne se trouve pas dans le PATH, créez un fichier contenant :

   $ENV{PATH}=$ENV{PATH} . ';c:\chemin\vers\bison\bin';
  

16.1.1. Pré-requis

PostgreSQL se construit en utilisant soit les versions professionnelles (quelque soit l'édition) soit la version Express gratuite de Visual Studio 2005™. Les produits supplémentaires suivants sont nécessaires pour construire le package complet. Utilisez le fichier config.pl pour indiquer les répertoires où se trouvent les bibliothèques.

ActiveState Perl

ActiveState Perl est requis pour exécuter les scripts de construction. Le Perl de MinGW et de Cygwin ne fonctionnera pas. Il doit aussi être présent dans le PATH. Les binaires de cet outil sont téléchargeables à partir de http://www.activestate.com (Note : la version 5.8 au minimum est requise, la distribution standard libre est suffisante).

ActiveState TCL

Requis pour construire PL/TCL (Note : la version 8.4 est requise, la distribution standard libre est suffisante).

Bison™ et Flex

Bison et Flex sont requis pour construire à partir d'une extraction du Git, mais ils ne sont pas nécessaires si vous utilisez une version packagée. Notez que seul Bison 1.875 ou les versions 2.2 et ultérieures fonctionneront. Bison et Flex sont téléchargeables sur http://gnuwin32.sourceforge.net.

Diff

Diff est nécessaire pour exécuter les tests de régression, et peut être téléchargé à partir de http://gnuwin32.sourceforge.net.

Gettext

Gettext est requis pour construire le support NLS, et peut être téléchargé à partir de http://gnuwin32.sourceforge.net. Notez que les binaires, dépendances et fichiers développeurs sont tous nécessaires.

Microsoft Platform SDK

Il est recommandé de mettre à jour avec la dernière version disponible du Microsoft Platform SDK™, disponible au téléchargement sur http://www.microsoft.com/downloads/.

MIT Kerberos

Requis pour le support de l'authentification Kerberos. MIT Kerberos est téléchargeable sur http://web.mit.edu/Kerberos/dist/index.html.

libxml2™ et libxslt

Requis pour le support du XML. Les binaires sont disponibles sur http://zlatkovic.com/pub/libxml et les sources sur http://xmlsoft.org. Notez que libxml2 nécessite iconv, qui est disponible sur le même site web.

openssl

Requis pour le support de SSL. Les binaires peuvent être téléchargés à partir de http://www.slproweb.com/products/Win32OpenSSL.html alors que les sources sont disponibles sur http://www.openssl.org.

ossp-uuid

Requis pour le support d'UUID-OSSP (seulement en contrib). Les sources peuvent être récupérées sur le site ossp.org.

Python

Requis pour la construction de PL/Python. Les binaires sont téléchargeables sur http://www.python.org.

zlib

Requis pour le support de la compression dans pg_dump et pg_restore. Les binaires sont disponibles à partir de http://www.zlib.net.

16.1.2. Construction

Pour construire tout PostgreSQL dans la configuration par défaut, exécutez la commande :

    
     build
    
   

Pour construire tout PostgreSQL dans la configuration de débogage, exécutez la commande :

    
     build DEBUG
    
   

Pour construire un seul projet, par exemple psql, exécutez les commandes :

    
     build psql
    
    
     build DEBUG psql
    
   

Pour modifier la configuration de construction par défaut, placez ce qui suit dans le fichier buildenv.pl :

    
     $ENV{CONFIG}="Debug";
    
   

Il est aussi possible de construire à partir de l'interface de Visual Studio. Dans ce cas, vous devez exécuter :

    
     perl mkvcbuild.pl
    
   

à partir de l'invite, puis ouvrir le fichier pgsql.sln généré (dans le répertoire racine des sources) dans Visual Studio.

16.1.3. Nettoyage et installation

La plupart du temps, la récupération automatique des dépendances dans Visual Studio prendra en charge les fichiers modifiés. Mais, s'il y a eu trop de modifications, vous pouvez avoir besoin de nettoyer l'installation. Pour cela, exécutez simplement la commande clean.bat, qui nettoiera automatiquement les fichiers générés. Vous pouvez aussi l'exécuter avec le paramètre dist, auquel cas il se comporte comme make distclean et supprime les fichiers flex/bison en sortie.

Par défaut, tous les fichiers sont écrits dans un sous-répertoire de debug ou release. Pour installer ces fichiers en utilisant les emplacements standards et pour générer aussi les fichiers requis pour initialiser et utiliser la base de données, exécutez la commande :

    
     perl install.pl c:\destination\directory
    
   

16.1.4. Exécuter les tests de régression

Pour exécuter les tests de régression, assurez-vous que vous avez terminé la construction de toutes les parties requises. Ensuite, assurez-vous que les DLL nécessaires au chargement de toutes les parties du système (comme les DLL Perl et Python pour les langages de procédure) sont présentes dans le chemin système. Dans le cas contraire, configurez-les dans le fichier buildenv.pl. Pour lancer les tests, exécutez une des commandes suivantes à partir du répertoire src\tools\msvc :

    
     vcregress check
    
    
     vcregress installcheck
    
    
     vcregress plcheck
    
    
     vcregress contribcheck
    
   

Pour modifier la planification utilisée (en parallèle par défaut), ajoutez-la à la ligne de commande, comme :

    
     vcregress check serial
    
   

Pour plus d'informations sur les tests de régression, voir Chapitre 29, Tests de régression.

16.1.5. Construire la documentation

Construire la documentation PostgreSQL au format HTML nécessite plusieurs outils et fichiers. Créez un répertoire racine pour tous ces fichiers et stockez-les dans des sous-répertoires conformément à la liste ci-dessous.

OpenJade 1.3.1-2

À télécharger à partir de http://sourceforge.net/project/downloading.php?groupname=openjade&filename=openjade-1_3_1-2-bin.zip et à décompresser dans le sous-répertoire openjade-1.3.1.

DocBook DTD 4.2

À télécharger à partir de http://www.oasis-open.org/docbook/sgml/4.2/docbook-4.2.zip et à décompresser dans le sous-répertoire docbook.

DocBook DSSSL 1.79

À télécharger à partir de http://sourceforge.net/project/downloading.php?groupname=docbook&filename=docbook-dsssl-1.79.zip et à décompresser dans le sous-répertoire docbook-dsssl-1.79.

ISO character entities

À télécharger à partir de http://www.oasis-open.org/cover/ISOEnts.zip et à décompresser dans le sous-répertoire docbook.

Modifiez le fichier buildenv.pl et ajoutez une variable pour l'emplacement du répertoire racine, par exemple :

    $ENV{DOCROOT}='c:\docbook';
   

Pour construire la documentation, exécutez la commande builddoc.bat. Notez que ceci exécutera la construction une deuxième fois, pour générer les index. Les fichiers HTML générés seront dans le répertoire doc\src\sgml.