Bonjour,
voilà en quelques mots comment je fais tourner postgresql comme un service windows.
L'environnement :
- XP Pro (devrait marcher avec home mais il est plus facile d'accéder aux ACL sous pro que home)
- postgresql 7.4.3
[Pour ma config <install-cygwin> vaut c:\cygwin]
1) Création d'un utilisateur windows postgresql, je lui ai mis des droits d'admin afin de lancer des services voir le 3).
2) J'exécute cygserver-config sous <install-cygwin>\bin, qui me crée un service cygserver. Ce service remplace ipc-daemon2.
Il suffit de lancer dans une fenêtre bash.
3) Connecté sous 'postgresql', je crée le /data qui va contenir les bases de données
3-bis) je fais le initdb, après avoir démarré le service cygserver (d'où les droits d'admin ; et je n'ai pas cherché à les enlever, j'ai une équipe qui gagne ...)
Maintenant, tous les fichiers de data sont propriétés de l'utilisateur postgresql
4) Je me reconnecte en utilisateur habituel mais aussi admin du poste, et j'installe le service postmaster :
cygrunsrv -I postmaster --path <install-cygwin>\\bin\\postmaster -a "-D /cygdrive/x/xxxxxx/data -i" -s INT -u postgresql -w xxxxxxxx o
donne les explications sur les paramètres.
Les x sont à remplacer par :
i) la lettre où se trouve les data
ii) les répertoires des datas
Pour ma config c'est : /cygdrive/d/databases/pgsql/data
Le répertoire /data est celui créé en 3)
Il faut ici doubler le \ dans <install-cygwin>, mais je n'en suis pas sûr.
5) Démarrer le service cygserver puis celui de postmaster.
Soit par la commande et soit par la console de gestion "services.msc".
postmaster peut avoir des problèmes, le vérifier par postmaster.log sous /var/log de <install-cygwin>.
Il faut mettre des droits à l'utilisateur postgresql. Je ne sais plus à quels fichiers et exécutables au moins à postgres.exe.
J'ai mis des droits de "contrôle total".
Cette partie de mise au point a été pas mal itérative.
Normalement tout est OK, on peut se connecter par psql pour le vérifier. la connexion par TCP/IP est elle aussi possible grâce au -i des paramètres du service postmaster.
Mes sources d'inspiration :
http://www.sitepoint.com/article/use...-php-windows/2
Des recherches sur Google avec les messages d'erreur que j'avais comme : "initdb failed signal 12" ou "could not locate postgres executable".
J'espère avoir été complet et clair.
Bon courage
Partager