Installer PostgreSQL 8.3 sous Windows

Article écrit par Guillaume Lelarge, le 26 décembre 2009.

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

winpg83_01.jpg

Cliquez sur le lien « Downloads ». Vous arrivez sur cette page :

winpg83_02.jpg

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 :

winpg83_03.jpg

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 :

winpg83_04.jpg

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 :

winpg83_05.jpg

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 :

winpg83_06.jpg

Plusieurs fichiers sont disponibles. Voici ce à quoi ils correspondent:

FichierCommentaires
postgresql-8.3.8-1-binaries-no-installer.zipBinaires sans installeur
postgresql-8.3.8-1-symbols.zipSymboles de débogage
postgresql-8.3.8-1.zipInstalleur

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 :

winpg83_07.jpg

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 :

winpg83_08.jpg

Commencez par l'enregistrer sur votre poste. Le téléchargement commence :

winpg83_09.jpg

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 :

winpg83_14.jpg

Vous arrivez dans l'assistant « Extraction de dossiers compressés » :

winpg83_15.jpg

Cliquez sur « Suivant » :

winpg83_16.jpg

Cliquez de nouveau sur « Suivant » :

winpg83_17.jpg

Laissez la case « Afficher les fichiers extraits » coché et cliquez sur « Terminer ».

Installer PostgreSQL

Voici les fichiers contenus dans le dossier compressé :

winpg83_18.jpg

Double cliquez sur le fichier « postgresql-8.3.msi ». L'installeur se lance :

winpg83_19.jpg

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 ».

winpg83_20.jpg

Cliquez sur « Suivant ».

winpg83_21.jpg

Lisez les notes d'installation, puis cliquez sur « Suivant ».

winpg83_22.jpg winpg83_23.jpg

Sélectionnez les options qui vous intéressent. Voici leur descriptifs:

  • Serveur de bases de données: installe les exécutables et bibliothèques;
    • Répertoire des données: exécute l'outil « initdb » après avoir installé les exécutables;
    • Support de la langue: ajoute les fichiers de traduction pour les exécutables;
    • PL/Java: installe le langage de procédures stockées Java.
  • Constructeur de la pile applicative: installe l'outil StackBuilder permettant l'installation simplifiée d'outils en relation avec PostgreSQL;
  • Interfaces utilisateur
    • psql: installe l'outil en ligne de commande psql;
    • pgAdmin: installe l'outil graphique d'admnistration de bases de données PostgreSQL.
  • 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 » :

winpg83_24.jpg

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 ».

winpg83_25.jpg

L'installeur a détecté que l'utilisateur n'existait pas encore et propose de le créer. Cliquez sur « Oui ».

winpg83_26.jpg

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 :

winpg83_27.jpg

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 :

winpg83_28.jpg

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 ».

winpg83_29.jpg

Le nouvel écran indique que PostgreSQL est prêt à être installé. Cliquez sur « Suivant ».

winpg83_30.jpg

L'installation commence :

  • copie des exécutables, des bibliothèques et des autres fichiers

winpg83_32.jpg

  • création du compte utilisateur

winpg83_33.jpg

  • initialisation du groupe de bases de données (autrement dit, exécution du programme « initdb »)

winpg83_34.jpg

  • modification des droits des répertoires et fichiers

winpg83_35.jpg

  • installation du service

winpg83_36.jpg

  • démarrage du nouveau service

winpg83_37.jpg

Et voilà. Installation terminée comme le dit le dernier écran :

winpg83_38.jpg

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 :

winpg83_53.jpg

Double cliquez sur le script batch nommé « UPGRADE.bat ». Vous obtenez la fenêtre suivante :

winpg83_54.jpg

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++ :

winpg83_55.jpg

L'installeur vérifie la précédente installation :

winpg83_56.jpg

Et la mise à jour commence :

winpg83_58.jpg

Une fois l'opération terminée, il est probable que vous ayez le message suivant :

winpg83_60.jpg

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 :

winpg83_24.jpg

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 :

winpg83_61.jpg

Vous devriez voir une fenêtre comme celle-ci :

winpg83_62.jpg

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 :

winpg83_80.jpg winpg83_81.jpg

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 :

winpg83_79.jpg

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 :

winpg83_61.jpg

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 :

winpg83_63.jpg

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.

winpg83_64.jpg

Par exemple, voici ce qu'il se passe si on démarre PostgreSQL :

winpg83_65.jpg

winpg83_66.jpg

Et voici le menu contextuel quand le serveur est démarré :

winpg83_69.jpg

Et enfin, les propriétés du service :

winpg83_70.jpg

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 :

winpg83_72.jpg

N'oubliez pas que vous pouvez aussi utiliser l'outil en ligne de commande « net.exe » pour gérer les services.

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.

winpg83_88.jpg

Le rechargement utilise « pg_ctl ».

winpg83_89.jpg

Afficher le texte source