Documentation PostgreSQL 9.6.24 > Administration du serveur > Installation à partir du code source sur WindowsTM
PrécédentNotes spécifiques à des plateformes Construire libpq avec Visual C++ ou Borland C++Suivant

17. 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 d'installation graphique à partir du site web du projet PostgreSQLTM. Construire à partir des sources a pour seule cible les personnes qui développent PostgreSQLTM ou des extensions.

Il existe différentes façons de construire PostgreSQL sur WindowsTM. La façon la plus simple de le faire est d'utiliser les outils Microsoft. Pour cela, il faut installer une version supportée de Visual Studio 2019TM et utiliser le compilateur inclus. Il est aussi possible de construire PostgreSQL avec Microsoft Visual C++ 2005 à 2019TM. Dans certains cas, il faut installer le Windows SDKTM en plus du compilateur.

Il est aussi possible de construire PostgreSQL en utilisant les outils de compilation GNU fournis par MinGWTM ou en utilisant CygwinTM pour les anciennes versions de WindowsTM.

Enfin, la bibliothèque d'accès pour les clients (libpq) peut être construit en utilisant Visual C++ 7.1TM ou Borland C++TM pour la compatibilité avec des applications liées statiquement en utilisant ces outils.

La construction par MinGWTM ou CygwinTM utilise le système habituel de construction, voir Chapitre 16, Procédure d'installation de PostgreSQLTM du code source et les notes spécifiques dans Section 16.9.5, « MinGW/Windows Natif » et Section 16.9.2, « Cygwin ». Pour produire des binaires natifs 64 bits dans ces environnements, utilisez les outils de MinGW-w64TM. Ces outils peuvent également être utilisés pour faire de la cross-compilation pour les systèmes WindowsTM 32 et 64 bits sur d'autres machines, telles que LinuxTM et DarwinTM. Il n'est pas recommandé d'utiliser CygwinTM pour faire fonctionner un serveur de production. Il devrait uniquement être utilisé pour le fonctionnement sur d'anciennes versions de WindowsTM, où la construction native ne fonctionne pas, comme Windows 98TM. Les exécutables officiels sont construits avec Visual StudioTM.

Les constructions natives de psql ne supportent pas l'édition de la ligne de commande. La version de psql construite avec CygwinTM supporte l'édition de ligne de commande, donc elle devrait être utilisée là où on a besoin de psql pour des besoins interactifs sous WindowsTM.

17.1. Construire avec Visual C++ ou le Microsoft Windows SDK

PostgreSQL peut être construit en utilisant la suite de compilation Visual C++ de Microsoft. Ces compilateurs peuvent être soit Visual StudioTM, soit Visual Studio ExpressTM soit certaines versions du Microsoft Windows SDKTM. Si vous n'avez pas déjà un environnement Visual StudioTM configuré, le plus simple est d'utiliser les compilateurs disponibles dans Visual Studio 2019TM ou ceux fournis dans le Windows SDK 10TM, qui sont tous disponibles en téléchargement libre sur le site de Microsoft.

Les constructions 32 bits et 64 bits sont possible avec la suite Microsoft Compiler. Les constructions 32 bits sont possibles avec Visual Studio 2005TM jusqu'à Visual Studio 2019TM, ainsi que les versions autonomes Windows SDK, de la version 6.0 à la version 10. Les constructions 64 bits sont supportées avec Microsoft Windows SDKTM, de la version 6.0a à la version 10, ou Visual Studio 2008TM et les versions ultérieures. La compilation est supportée depuis Windows XPTM et Windows Server 2003TM lors de la construction avec Visual Studio 2005TM et jusqu'à Visual Studio 2013TM. Construire avec Visual Studio 2015TM est supportée depuis Windows VistaTM et Windows Server 2008TM. La construction est supportée avec Visual Studio 2017TM et Visual Studio 2019TM depuis Windows 7 SP1TM et Windows Server 2008 R2 SP1TM.

Les outils pour compiler avec Visual C++TM ou Platform SDKTM sont dans le répertoire src/tools/msvc. Lors de la construction, assurez-vous qu'il n'y a pas d'outils provenant de MinGWTM ou CygwinTM présents dans le chemin des applications du système. De plus, assurez-vous que vous avez tous les outils Visual C++ requis disponibles dans le chemin des applications (variable d'environnement PATH). Dans Visual StudioTM, lancez le Visual Studio Command Prompt. Si vous souhaitez construire une version 64 bits, vous devez utiliser une version 64 bits de la commande, et vice-versa. Dans Microsoft Windows SDKTM, lancez la commande shell CMD listé dans le menu SDK du menu de démarrage. Dans les versions récentes du SDK, vous pouvez changer l'architecture CPU ciblée, le type de construction et le système cible en utilisant la commande setenv, par exemple setenv /x86 /release /xp pour cibler Windows XP ou supérieur avec une construction 32 bits. Voir /? pour les autres options de setenv. Toutes les commandes doivent être exécutées du répertoire src\tools\msvc.

Avant de lancer la construction, vous aurez besoin d'éditer le fichier config.pl pour y modifier toutes les options de configuration nécessaires, ainsi que les chemins utilisés par les bibliothèques de tierces parties. La configuration complète est déterminée tout d'abord en lisant et en analysant le fichier config_default.pl, puis en appliquant les modifications provenant du fichier config.pl. Par exemple, pour indiquer l'emplacement de votre installation de PythonTM, placez la ligne suivante dans config.pl :

 $config->{python} = 'c:\python26';
 

Vous avez seulement besoin de spécifier les paramètres qui sont différents de la configuration par défaut, ce qui est à faire dans le fichier config_default.pl.

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 chemin, créez un fichier contenant :

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

17.1.1. Prérequis

Les outils supplémentaires suivants sont requis pour construire PostgreSQLTM. Utilisez le fichier config.pl pour indiquer les répertoires où se trouvent les bibliothèques.

Microsoft Windows SDKTM

Si votre environnement de compilation ne contient pas une version supportée du Microsoft Windows SDKTM, il est recommandé de mettre à jour avec la dernière version supportée (actuellement la version 10), téléchargeable sur le site de Microsoft.

Vous devez toujours inclure la partie Windows Headers and Libraries du SDK. Si vous installez un Windows SDKTM incluant les compilateurs (Visual C++ Compilers), vous n'avez pas de Visual StudioTM. Notez que la version 8.0a du Windows SDK ne contient plus d'environnement complet de compilation en ligne de commande.

ActiveState PerlTM

ActiveState Perl est requis pour exécuter les scripts de construction. La commande Perl de MinGW et de Cygwin ne fonctionnera pas. Elle doit aussi être présente dans le chemin (PATH). Les binaires de cet outil sont téléchargeables à partir du site officiel (la version 5.8.3 ou ultérieure est requise, la distribution standard libre est suffisante).

Les produits suivants ne sont pas nécessaires pour commencer, mais sont requis pour installer la distribution complète. Utilisez le fichier config.pl pour indiquer les répertoires où sont placées les bibliothèques.

ActiveState TCLTM

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

BisonTM et FlexTM

BisonTM et FlexTM sont requis pour construire à partir de Git, mais ne le sont pas pour construire à partir d'une version distribuée. Seul BisonTM 1.875 ou les versions 2.2 et ultérieures fonctionneront. FlexTM doit être en version 2.5.31 ou supérieure.

BisonTM et FlexTM sont inclus dans la suite d'outils msysTM, disponible à partir de son site officiel et faisant partie de la suite de compilation MinGWTM.

Vous aurez besoin d'ajouter le répertoire contenant flex.exe et bison.exe à la variable d'environnement PATH dans buildenv.pl sauf s'ils y sont déjà. Dans le cas de MinGW, le répertoire est le sous-répertoire \msys1円.0\bin de votre répertoire d'installation de MinGW.

[Note]

Note

La distribution Bison de GnuWin32 a apparemment un bug qui cause des disfonctionnements de Bison lorsqu'il est installé dans un répertoire dont le nom contient des espaces, tels que l'emplacement par défaut dans les installations en anglais : C:\Program Files\GnuWin32. Installez donc plutôt dans C:\GnuWin32 ou utilisez le chemin court NTFS de GnuWin32 dans votre variable d'environnement PATH (par exemple C:\PROGRA~1\GnuWin32).

[Note]

Note

Les binaires obsolètes winflex distribués sur le site FTP de PostgreSQL et référencés dans les anciennes documentations échoueront avec le message « flex: fatal internal error, exec failed » sur des serveurs Windows 64 bits. Utilisez Flex à partir du paquet MSYS.

DiffTM

Diff est nécessaire pour exécuter les tests de régression, et peut être téléchargé à partir de de la page du projet gnuwin32 du site sourceforge.net.

GettextTM

Gettext est requis pour construire le support des langues (NLS), et peut être téléchargé à partir de la page du projet gnuwin32 du site sourceforge.net. Notez que les binaires, dépendances et fichiers d'en-tête sont tous nécessaires.

MIT KerberosTM

Requis pour le support de l'authentification GSSAPI. MIT Kerberos est téléchargeable sur le site du MIT.

libxml2TM et libxsltTM

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

opensslTM

Requis pour le support de SSL. Les binaires peuvent être téléchargés à partir du site slproweb.com alors que les sources sont disponibles sur le site openssl.org.

ossp-uuidTM

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

PythonTM

Requis pour la construction de PL/Python. Les binaires sont téléchargeables sur le site officiel du langage Python.

zlibTM

Requis pour le support de la compression dans pg_dump et pg_restore. Les binaires sont disponibles à partir du site officiel.

17.1.2. Considérations spéciales pour Windows 64 bits

PostgreSQL ne peut être compilé pour l'architecture x64 que sur Windows 64 bit. De plus, il n'y a pas de support pour les processeurs Itanium.

Mixer des versions 32 bits et des versions 64 bits dans le même répertoire de construction n'est pas supporté. Le système de compilation détecte automatiquement si l'environnement est 32 bits ou 64 bits, et construit PostgreSQL en accord. Pour cette raison, il est important de commencer avec la bonne invite de commande avant de lancer la compilation.

Pour utiliser une bibliothèque de tierce partie côté serveur comme PythonTM ou OpenSSLTM, cette bibliothèque doit aussi être en 64 bits. Il n'y a pas de support pour le chargement d'une bibliothèque 32 bits sur un serveur 64 bits. Plusieurs bibliothèques de tierce partie que PostgreSQL supporte ne sont disponibles qu'en version 32 bits, auquel cas elles ne peuvent pas être utilisées avec un serveur PostgreSQL 64 bits.

17.1.3. 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 l'une des deux commandes ci-dessous, suivant que vous souhaitez la configuration par défaut ou la configuration de débogage :

 build psql
 build DEBUG psql
 

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

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.

17.1.4. 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 :

install c:\destination\directory

Si vous voulez seulement installer les applications clientes et les bibliothèques, vous pouvez utiliser ces commandes :

install c:\destination\directory client

17.1.5. 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
 vcregress ecpgcheck
 vcregress isolationcheck
 vcregress bincheck
 vcregress recoverycheck
 vcregress upgradecheck
 

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 31, Tests de régression.

Exécuter les tests de régression sur les programmes clients, avec vcregress bincheck, ou sur les tests de restauration, avec vcregress recoverycheck, nécessite l'installation d'un module Perl supplémentaire :

IPC::RunTM

Lors de l'écriture de cette partie, IPC::Run n'était pas inclus dans l'installation de ActiveState Perl, pas plus que dans la bibliothèque ActiveState Perl Package Manager (PPM). Pour l'installer, téléchargez l'archive source IPC-Run-<version>.tar.gz à partir du site CPAN, et déballez-la. Modifiez le fichier buildenv.pl en ajoutant une variable PERL5LIB pointant vers le sous-répertoire lib des fichiers extraits de l'archive. Par exemple :

$ENV{PERL5LIB}=$ENV{PERL5LIB} . ';c:\IPC-Run-0.94\lib';

17.1.6. 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 la page du projet openjade sur le site sourceforge.net et à décompresser dans le sous-répertoire openjade-1.3.1.

DocBook DTD 4.2

À télécharger à partir de site oasis-open.org et à décompresser dans le sous-répertoire docbook.

DocBook DSSSL 1.79

À télécharger à partir de la page du projet docbook-dsssl sur le site sourceforge.net et à décompresser dans le sous-répertoire docbook-dsssl-1.79.

Entités de caractères ISO

À télécharger à partir du site oasis-open.org 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.

AltStyle によって変換されたページ (->オリジナル) /