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™.
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';
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 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).
Requis pour construire PL/TCL (Note : la version 8.4 est requise, la distribution standard libre est suffisante).
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 est nécessaire pour exécuter les tests de régression, et peut être téléchargé à partir de http://gnuwin32.sourceforge.net.
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.
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/.
Requis pour le support de l'authentification Kerberos. MIT Kerberos est téléchargeable sur http://web.mit.edu/Kerberos/dist/index.html.
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.
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.
Requis pour le support d'UUID-OSSP (seulement en contrib). Les sources peuvent être récupérées sur le site ossp.org.
Requis pour la construction de PL/Python. Les binaires sont téléchargeables sur http://www.python.org.
Requis pour le support de la compression dans pg_dump et pg_restore. Les binaires sont disponibles à partir de http://www.zlib.net.
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.
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
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.
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.
À 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.
À 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.
À 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.
À 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.