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

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Guide pratique de compilation de PostgreSQL sous Windows

Technique | Guide pratique de compilation de PostgreSQL sous Windows

Par Guillaume Lelarge le 05/06/2004 - 20:02

Auteur : Vishal Kashyap (Sai Hertz And Control Systems Pvt.
Ltd)

Traducteur : Guillaume Lelarge

Que vais-je obtenir ?

  1. Une version exĂ©cutable sous Windows de PostgreSQL ;
  2. Un serveur PostgreSQL s'exécutant comme un service windows.

License

Important : Le texte ci-dessous est la version française de la
licence de ce document. Seule la version originale de cette licence, présentée
dans la section suivante, fait foi.

Ce document est sous licence "Faites passer le mot". Il ne vous coûtera rien.
Utilisez-le à vos risques et périls. Tous les logiciels mentionnés appartiennent
à leur propriétaires respectifs.

License

Important : Le texte ci-dessous est la licence de ce document.
Ce texte fait foi. Il est composé de la licence (en anglais) du document
original.

This document is licensed under "Spread the good word license" will not cost
monetarily you or your lawyer anything. Use it on your own risk. All Software

mentioned belongs to their respective owners.

Prérequis

Avant de commencer

Si vous trouvez une erreur ou avez des suggestions, n'hésitez pas à m'en
faire part.

Vous aurez besoin de quelques emplacements sur votre disque :

  • <partition_d_installation> est toute partition sur votre disque oĂą
    vous allez installer PostgreSQL (par exemple c:\, d:\ ou e:\) ;
  • <repertoire_d_installation> est le nom du rĂ©pertoire oĂą se
    trouveront les exĂ©cutables Windows de PostgreSQL ;
  • <repertoire_des_bases_de_donnees> est le chemin vers les fichiers de
    données de la base de données.

Ce document a été écrit lors d'une installation sur un Windows XP SP1
donc pour les utilisateurs de Win9X, Windows ME, merci de trouver les
Ă©quivalents pour toutes les instructions.

Installation

MinGW

  1. Cliquez sur l'exécutable MinGW et réalisez les étapes de la séquence habituelle
    d'une installation.

Msys

  1. Cliquez simplement sur l'exécutable MinGW et réalisez les étapes de la séquence habituelle
    d'une installation.
  2. Copiez toutes les données de <partition_d_installation>:\MinGW dans
    <partition_d_installation>:\msys\1.0\mingw

PostgreSQL

  1. Copiez le fichier postgresql-snapshot.tar.gz dans
    <partition_d_installation>:\msys\1.0\home\<utilisateur Windows
    NT>
  2. Maintenant, exécutez
    <partition_d_installation>:\msys\1.0\msys.bat ou en cliquant sur
    l'icĂ´ne de bureau de MSYS
  3. Compilez en exĂ©cutant les Ă©tapes suivantes :
    1. tar -zxf postgresql-snapshot.tar.gz
    2. cd postgresql-snapshot
    3. configure ­-without-zlib
    4. make
    5. make installcheck >> traces.txt
    6. make install (lisez les conseils en cas de problèmes
      ci-dessous)
  4. Maintenant, Ă  partir de l'explorateur Windows, copiez tous les
    fichiers du répertoire
    <partition_d_installation>:\msys\1.0\local\pgsql\lib dans
    c:\windows\system32 (sur WindowsXP et Windows2000) et dans
    c:\winnt\system32 (sur WindowsNT 4.0)
  5. Créez un répertoire nommé
    <partition_d_installation>:\<repertoire_d_installation> et
    copiez tout ce qui se trouve dans
    <partition_d_installation>:\msys\1.0\local\pgsql dans
    <partition_d_installation>:\<repertoire_d_installation>
  6. Nous allons mettre les commandes PostgreSQL dans le chemin système
    (variable d'environnement PATH) :

    1. Menu DĂ©marrer >> Panneau de configuration >>
      Système
    2. Sélectionnez l'onglet Avancé (sur WindowsXP et Windows 2000)
    3. Cliquez sur le bouton "Variables d'environnement"
    4. Cherchez la variable PATH
    5. SĂ©lectionnez-la et cliquez sur le bouton Edition
    6. A la fin du texte, tapez ;<partition_d_installation>:\<repertoire_d_installation>\bin
  7. Initialisez la base de donnĂ©es :
    1. Ouvrez une fenĂŞtre de commandes et entrez la commande
      initdb -D -W <repertoire_des_bases_de_donnees> --lc-collate=C
  8. Exécutez manuellement le serveur PostgreSQL en lançant la
    commande 
    postmaster -D <repertoire_des_bases_de_donnees>

PostgreSQL en tant que Windows NT

Cette section est valide uniquement pour les systèmes d'exploitation
suivants :

  1. Windows NT 4.0 SP 6a ;
  2. Windows 2000 SP4 ;
  3. Windows XP SP1 ;
  4. Windows 2003 (devrait fonctionner).

Installez FireDaemon Lite Service Manager et créez un nouveau service en lui
affectant le nom que vous souhaitez. Les valeurs probables des champs
seront :

  • Working Directory :
    <partition_d_installation>:\<repertoire_d_installation>
  • Environment : <repertoire_des_bases_de_donnees> (dans notre
    exemple c:\data).

FAQ

Le service Windows ne se lance pas automatiquement.

Supprimez le fichier *.pid à partir du répertoire des fichiers de la base de
données (c'est-à-dire c:\data dans notre exemple) et relancez le service

Comment puis-je accéder à la base de données

La base de données par défaut est template1. Pour vous connecter, utilisez la
commande suivante : psql template1

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramètres" pour activer vos changements.

Je tente de faire l'installat

ninja21a/ = 26 Juin, 2004 - 17:03

Je tente de faire l'installation sur WinXpPro.
Pour ce faire, j'ai créé un utilisateur standard nommé postgres

jusqu'au configure --without-zlib, tout est ok, mis Ă  part l'absence de bison et flex.

make donne ceci :

make -C doc all
make[1]: Entering directory `/home/postgres/postgresql-snapshot/doc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/postgres/postgresql-snapshot/doc'
make -C src all
make[1]: Entering directory `/home/postgres/postgresql-snapshot/src'
make -C port all
make[2]: Entering directory `/home/postgres/postgresql-snapshot/src/port'
echo "#define PGBINDIR \"/usr/local/pgsql/bin\"" >pg_config_paths.h
echo "#define PGSHAREDIR \"/usr/local/pgsql/share\"" >>pg_config_paths.h
echo "#define SYSCONFDIR \"/usr/local/pgsql/etc\"" >>pg_config_paths.h
echo "#define INCLUDEDIR \"/usr/local/pgsql/include\"" >>pg_config_paths.h
echo "#define PKGINCLUDEDIR \"/usr/local/pgsql/include\"" >>pg_config_paths.h
echo "#define PKGLIBDIR \"/usr/local/pgsql/lib\"" >>pg_config_paths.h
echo "#define LOCALEDIR \"\"" >>pg_config_paths.h
gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes -Wmissing-declarations -I../../src/port -I../../src/include -I./src/include/port/win32 -DEXEC_BACKEND "-I../../src/include/port/win32" -c -o path.o path.c
gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes -Wmissing-declarations -I../../src/port -I../../src/include -I./src/include/port/win32 -DEXEC_BACKEND "-I../../src/include/port/win32" -c -o pipe.o pipe.c
pipe.c: In function `pgpipe':
pipe.c:32: warning: implicit declaration of function `ereport'
pipe.c:32: `LOG' undeclared (first use in this function)
pipe.c:32: (Each undeclared identifier is reported only once
pipe.c:32: for each function it appears in.)
pipe.c:32: warning: implicit declaration of function `errmsg_internal'
make[2]: *** [pipe.o] Error 1
make[2]: Leaving directory `/home/postgres/postgresql-snapshot/src/port'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/postgres/postgresql-snapshot/src'
make: *** [all] Error 2

Qui peut m'aider ?

Merci.


Retour d expérience

boly/ = 8 Octobre, 2004 - 12:38

Avant-propos : Sur ce site : Pourquoi les commentaires des articles ne sont-ils pas visible pour les non-inscrits ???







le 08/10/2004 : Retour d'expérience pour l'installation Postgresql sous windows XP.

(peut être obsolète au vu du post parlant de la version 8 beta s'installant de façon 'native' sous windows..)



Par rapport au guide suivant :

http://www.postgresqlfr.org/?q=node/view/37





versions utilisées

------------------

MSYS-1.0.9.exe

MinGW-3.1.0-1.exe



Prérequis :

-----------

Pour lancer une console que j'appelle (win)do(w)s :o)

[Touche de windows] + [R] : tapez cmd puis entree

ou démarrer / exécuter / tapez cmd puis entree







Il est dit :

>Msys

>Cliquez simplement sur l'exécutable MinGW et réalisez les étapes de la séquence habituelle d'une installation.

>===> Copiez toutes les données de :\MinGW dans :\msys\1.0\mingw



La deuxième ligne ne sert pas si dans /etc/fstab on a une ligne de la forme suivante :

$ cat /etc/fstab

c:/MinGW /mingw





Après le configure et concernant votre point n°5,

j'ai plutôt fait de la manière suivante :



mkdir /usr/local

mkdir /usr/local/pgsql



Creer sous windows le répertoire d'installation de postgresql (ie. mkdir c:\Postgresql)

Sous Msys : ajout dans fstab de la ligne suivante :

c:/Postgresql /usr/local/pgsql





Avant de faire le make installcheck il faut faire le make install !?

je dis çà car le le make installcheck effectue des accès au répertoire /usr/local/pgsql
D'ailleurs j'ai les erreurs suivantes lors de l'installcheck :

------------------------------------------------------------------------------

/bin/sh.exe ./pg_regress --schedule=./serial_schedule --multibyte=SQL_ASCII

(using postmaster on Unix socket, default port)

============== dropping database "regression" ==============

dropdb.exe: could not connect to database template1: could not connect to server: Connection refused (0x0000274D/10061)

Is the server running on host "???" and accepting
TCP/IP connections on port 5432?

============== creating database "regression" ==============

createdb.exe: could not connect to database template1: could not connect to server: Connection refused (0x0000274D/10061)

Is the server running on host "???" and accepting
TCP/IP connections on port 5432?

pg_regress: createdb failed

make[2]: *** [installcheck] Error 2

make[2]: Leaving directory `/home/focal10/postgresql-snapshot/src/test/regress'

make[1]: *** [installcheck] Error 2

make[1]: Leaving directory `/home/focal10/postgresql-snapshot/src/test'

make: *** [installcheck] Error 2

------------------------------------------------------------------------------





Je n'ai pas fait le point n°4 (copie des librairies dans le répertoire système windows)

je préfère ajouter le répertoire C:\Postgresql\lib au PATH (celà rend plus simple la procédure de désinstallation...)



Sous (win)do(w)s : création du répertoire des données Postgresql :

mkdir c:\Postgresql\data



Création des variables d'environnement :

PGH=C:\Postgresql

PATH=%PATH%;%PGH%\bin

à la place du point n°4 :

PATH=%PATH%;%PGH%\lib

répertoire des données :

PGDATA=%PGH%\data



Si je suis Administrateur :

---------------------------



Création d'un utilisateur Windows nommé "Postgresql" qui ne soit pas administrateur

Démarrer / Paramètre / Panneau de configuration / ...

.../ Outils d'administration / Gestion de l'ordinateur

Dans l'arborescence gauche cliquer sur "Utilisateurs"

Dans la partie droite / cliquer (bouton droit) / Nouvel utilisateur ...

Une fois créé, vérifier qu'il ne fasse pas partie des groupes "admin" ("Power users" y compris)

Il doit appartenir uniquement au groupe "users"

En tant qu'admin, ajouter à cet utilisateur le "controle total" sur le répertoire "C:\Postgresql"

(Bouton droit sur le répertoire / Propriétés / Onglet Sécurité / Ajouter / Taper "Postgresql")



-----



Changer d'utilisateur. Une fois loggué en tant que "Postgresql"
sous (win)do(w)s :

vérifier les variables d'environnement

Lancer l'initialisation de la BD

initdb -D -W %PGDATA% --lc-collate=C

Lancer le serveur

pg_ctl -D %PGDATA% -l %PGH%/logpg.log start



© PostgreSQLFr, tous droits rĂ©servĂ©s.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.