Installer PostgreSQL 8.3 sous Windows
Article mis à jour le 27 décembre 2009.
Quelques informations de base
Tous les tests effectués et toutes les copies d'écran ont été fait sur un Windows XP. Cela devrait fonctionner de la même manière sous les autres versions de Windows. En cas de différence, elles seront clairement explicitées dans le texte.
L'utilisation de PostgreSQL sous Windows peut se révéler très pratique. Par exemple, un développeur peut continuer à travailler sur son projet avec sa base personnelle sur son poste de travail. Cependant, il faut convenir d'un grand nombre d'inconvénients, le premier étant que la version Windows est moins performante que la version Unix. Cela peut ne pas être un problème, surtout si on revient à l'exemple du développeur, mais va très rapidement le devenir une fois en production. De plus, les outils tiers sont souvent développés avec Unix en tête, parfois Windows. Enfin, les documentations sur PostgreSQL sous Windows sont relativement peu nombreuses. Bref, si vous choisissez d'utiliser PostgreSQL avec Windows, attendez-vous à batailler ferme pour trouver des informations sur votre système ou pour trouver de l'aide.
Télécharger l'installeur
Commencez par aller sur la page principale du projet : http://www.postgresql.org
Cliquez sur le lien « Downloads ». Vous arrivez sur cette page :
Cette page indique tous les téléchargements possibles. Pour Windows, nous sommes intéressés par les exécutables qui se trouvent dans la section « Binary packages ». Cliquez sur le lien « Windows ». Vous arrivez sur cette page :
En 8.3, deux entités proposent des exécutables de PostgreSQL compilés pour Windows : la communauté PostgreSQL et la société EnterpriseDB. Il est habituellement conseillé d'utiliser la version de la communauté. Cliquez sur le lien « Download » de la section « pgInstaller ». Vous arrivez sur cette page :
Elle contient la liste des versions disponibles. Il est préférable d'installer la dernière version en cours, mais libre à vous d'utiliser une autre version. Nous allons installer la version 8.3.8. Cliquez sur le lien « v8.3.8 ». Vous arrivez sur cette page :
Cette page vous propose les trois plateformes pour lesquelles la communauté fournit des exécutables. Nous sommes intéressés par la plateforme Windows, cliquez sur le lien « win32 ». Vous arrivez sur cette page :
Plusieurs fichiers sont disponibles. Voici ce à quoi ils correspondent:
| Fichier | Commentaires |
|---|---|
| postgresql-8.3.8-1-binaries-no-installer.zip | Binaires sans installeur |
| postgresql-8.3.8-1-symbols.zip | Symboles de débogage |
| postgresql-8.3.8-1.zip | Installeur |
Chacun de ces trois fichiers dispose aussi d'un fichier signature (extension « .sig »), ce qui permet de certifier que le fichier .zip est valide.
Le fichier qui nous intéresse est l'installeur. Cliquez sur le lien « postgresql-8.3.8-1.zip ». Vous arrivez sur cette page :
Vous arrivez sur la liste des miroirs. Si vous avez déjà téléchargé un fichier sur ce site à partir de votre PC, il devrait se rappeler du précédent miroir que vous avez utilisé. Sélectionnez celui qui est le plus proche de vous en cliquant dessus.
Votre navigateur devrait rapidement vous proposer d'enregistrer ou d'ouvrir ce fichier avec un dialogue de ce type :
Commencez par l'enregistrer sur votre poste. Le téléchargement commence :
Une fois terminée, l'extraction de l'installeur va pouvoir commencer.
Extraire l'installeur
Faites un clic droit sur le fichier téléchargé, et sélectionnez l'élément « Extraire tout » comme ceci :
Vous arrivez dans l'assistant « Extraction de dossiers compressés » :
Cliquez sur « Suivant » :
Cliquez de nouveau sur « Suivant » :
Laissez la case « Afficher les fichiers extraits » coché et cliquez sur « Terminer ».
Installer PostgreSQL
Voici les fichiers contenus dans le dossier compressé :
Double cliquez sur le fichier « postgresql-8.3.msi ». L'installeur se lance :
Vous pouvez sélectionner la langue utilisée pendant l'installation. Par défaut, la sélection devrait être correcte. Si ce n'est pas le cas, cochez la case « French / Français ». Profitez-en pour cocher la case « Write detailed installation log to postgresql-8.3.log in the current directory ». Cette option permet de demander la création d'un fichier de traces nommé « postgresql-8.3.log » qui sera enregistré dans le répertoire de l'installeur.
Cliquez ensuite sur « Start ».
Cliquez sur « Suivant ».
Lisez les notes d'installation, puis cliquez sur « Suivant ».
Sélectionnez les options qui vous intéressent. Voici leur descriptifs:
- Serveur de bases de données: installe les exécutables et bibliothèques;
- Constructeur de la pile applicative: installe l'outil StackBuilder permettant l'installation simplifiée d'outils en relation avec PostgreSQL;
- Interfaces utilisateur
- Développement
- Fichiers include: ajoute les fichiers d'inclusion pour l'écriture de programmes en langage C;
- Bibliothèques: ajoute des bibliothèques de développement;
- Outils et utilitaires: ajoute différents outils facilitant le développement (comme ecpg).
Vous devez au moins sélectionner « Répertoire des données ». Une fois votre sélection effectuée, cliquez sur « Suivant » :
Cet écran va permettre la saisie d'informations nécessaires à la création d'un utilisateur standard et d'un service. L'utilisateur sera le propriétaire des fichiers et répertoires de la base de données. Il sera aussi l'utilisateur qui exécutera le moteur du serveur. Le service est un moyen simple de gérer un logiciel qui s'exécute en tâche de fond (appelé démon sous Unix).
Normalement, toutes les informations devraient déjà être fournies sauf le mot de passe. Saisissez le mot de passe de l'utilisateur Windows postgres. Saisissez-le une deuxième fois pour confirmer votre première saisie. Vous pouvez ne pas saisir de mot de passe, ce qui fait que l'installeur en générera un lui-même.
Cliquez sur « Suivant ».
L'installeur a détecté que l'utilisateur n'existait pas encore et propose de le créer. Cliquez sur « Oui ».
Si, comme moi, vous avez saisi un mot de passe faible, l'installeur vous propose de le remplacer par un mot de passe plus fort. Si vous cliquez sur « Non », votre mot de passe sera conservé. Si vous cliquez sur « Oui », vous aurez droit à l'écran suivant :
Il est à noter que vous aurez ce même écran (en dehors du mot de passe) si vous n'aviez pas saisi de mot de passe.
De toute façon, assurez-vous, comme le dit ce dialogue, de noter ce mot de passe. Il pourra servir par la suite, pour une mise à jour ou pour d'autres activités.
Cliquez sur « OK » si vous avez eu ce dialogue. Vous arrivez sur cet écran :
Cet écran permet l'activation de certains modules supplémentaires. Il faut bien comprendre que ces modules sont toujours installés. Cet écran permet seulement d'activer leur utilisation sur la base de données template1 et sur toutes les bases de données qui seront créées par la suite.
Cochez les modules qui vous intéressent. Vous pouvez avoir plus d'informations sur les modules à partir de la documentation de la version 8.4 (auparavant les informations se trouvaient dans des fichiers texte installés avec les modules).
Une fois votre sélection effectuée, cliquez sur « Suivant ».
Le nouvel écran indique que PostgreSQL est prêt à être installé. Cliquez sur « Suivant ».
L'installation commence :
- copie des exécutables, des bibliothèques et des autres fichiers
- création du compte utilisateur
- initialisation du groupe de bases de données (autrement dit, exécution du programme « initdb »)
- modification des droits des répertoires et fichiers
- installation du service
- démarrage du nouveau service
Et voilà. Installation terminée comme le dit le dernier écran :
Mettre à jour PostgreSQL
Si vous voulez mettre à jour votre version de PostgreSQL, disons la 8.3.9, il faut commencer par la télécharger sur le site, puis extraire le fichier zip sur votre disque. Voir plus haut pour les détails.
Une fois les fichiers extraits, vous vous retrouvez avec cette fenêtre :
Double cliquez sur le script batch nommé « UPGRADE.bat ». Vous obtenez la fenêtre suivante :
Faites Ctrl-C pour annuler la mise à jour. Faites n'importe quelle touche pour continuer. Appuyez par exemple sur la touche « Enter ».
L'installeur commence par mettre à jour les bibliothèques redistribuables de Visual C++ :
L'installeur vérifie la précédente installation :
Et la mise à jour commence :
Une fois l'opération terminée, il est probable que vous ayez le message suivant :
Cliquez sur « Oui » pour redémarrer.
Une fois le redémarrage effectué, votre serveur PostgreSQL mis à jour est prêt à être utilisé.
Informations internes
Voici quelques informations supplémentaires sur les spécificités de Windows.
Utilisateur Windows postgres
L'installeur va créer un utilisateur standard (c'est-à-dire qu'il ne fait pas partie du groupe administrateurs). Il n'est pas possible de changer son nom pendant l'installation. Ce sera donc toujours « postgres ». Vous indiquez son mot de passe pendant l'installation lors de cette étape :
Après l'installation, vous le verrez dans l'outil de « Gestion de l'ordinateur ». Pour exécuter ce logiciel, cliquez avec le bouton droit de la souris sur l'icône du « Poste de travail », puis choisissez l'élément « Gérer… », comme sur cette copie d'écran :
Vous devriez voir une fenêtre comme celle-ci :
La partie gauche permet de naviguer entre les différents nœuds d'informations, et la partie droite fournit les informations. Allez dans « Gestion de l'ordinateur / Outils système / Utilisateurs et groupes locaux / Utilisateurs ». La partie droite devrait afficher tous les utilisateurs, dont l'utilisateur postgres. Voici le contenu des propriétés de cet utilisateur :
Comme vous pouvez le constater, cet utilisateur ne fait partie d'aucun groupe, et surtout pas du groupe Administrateurs. Par contre, il a tous les droits sur le répertoire des données de PostgreSQL :
Pour cela, allez dans le répertoire « C:\Program Files\PostgreSQL\8.3 » (si vous n'avez pas changé le répertoire d'installation), faites un clic droit sur le répertoire « data » et sélectionnez l'élément « Propriétés » du menu contextuel.
Service postgresql-8.3
L'installeur crée un service Windows appelé par défaut « PostgreSQL Database Server 8.3 ». Ce service permet de démarrer et d'arrêter le serveur PostgreSQL.
Vous pouvez accéder aux services dans l'outil de « Gestion de l'ordinateur ». Pour exécuter ce logiciel, cliquez avec le bouton droit de la souris sur l'icône du « Poste de travail », puis choisissez l'élément « Gérer… », comme sur cette copie d'écran :
La partie gauche permet de naviguer entre les différents nœuds d'informations, et la partie droite fournit les informations. Allez dans Gestion de l'ordinateur / Services et applications / Services. La partie droite devrait afficher tous les services, dont celui du serveur PostgreSQL :
La colonne « État » permet de savoir si le serveur est en cours d'exécution (« Démarré ») ou arrêté (dans ce cas, la cellule est vide). En faisant un clic droit, un menu contextuel permet d'exécuter une action ou de modifier les propriétés.
Par exemple, voici ce qu'il se passe si on démarre PostgreSQL :
Et voici le menu contextuel quand le serveur est démarré :
Et enfin, les propriétés du service :
Le champ « Chemin d'accès des fichiers exécutables » contient la ligne de commande pour lancer une action. Le service utilise l'outil « pg_ctl » pour gérer le serveur. L'option -N permet d'indiquer le nom abrévié du service, et l'option -D l'emplacement du répertoire des données.
L'option « Connexion » montre bien que le service utilise l'utilisateur postgres pour démarrer, arrêter le serveur PostgreSQL :
N'oubliez pas que vous pouvez aussi utiliser l'outil en ligne de commande « net.exe » pour gérer les services.
Menu « PostgreSQL 8.3 »
L'installeur a créé un menu dans le répertoire « Tous les programmes » du menu « Start ». Ce menu s'appelle « PostgreSQL ». Il contient un accès rapide à certains outils comme psql ou pgAdmin (version 1.8.4). Il contient aussi les commandes suivantes :
- « Lancez le service » : démarrage du serveur;
- « Arrêtez le serveur » : arrêt du serveur;
- « Rechargez la configuration » : rechargement de la configuration par le serveur.
Les deux premiers utilisent l'outil « net.exe » pour gérer le service PostgreSQL, comme le montre la copie d'écran ci-dessous.
Le rechargement utilise « pg_ctl ».





















































