PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 09/03/2011 12:53:15

GloReX
Membre

pgAgent sur Windows 2008 R2 X64

Bonjour,

J'ai pu installer pgAgent sur le serveur cependant lors du démarrage du service, une erreur se produit:

La ligne d'installation du service:

"C:\Program Files (x86)\pgAdmin III\1.12\pgagent" INSTALL pgAgent -u postgres -p <win_usr_pwd> hostaddr=<db_serv_ip_addr> dbname=postgres user=postgres

J'ai configuré le fichier pgpass.conf, situé dans "%APPDATA%/Roaming/postgresql/", par souci de suivre les consignes de la documentation je l'ai également placé dans "%APPDATA%/postgresql/" de l'utilisateur exécutant le service.

<db_serv_ip_addr>:5432:postgres:postgres:<db_user_pass>

Lorsque je tente de démarré le service j'ai le message suivant dans l'eventlog/Application de windows serveur.

Couldn't create the primary connection (attempt 2): fe_sendauth: no password supplied

Ca fait deux jours que je cale sur ce problème et que je parcours les forums en quête de solution.

J'ai l'impression que pgAgent n'arrive pas à trouver le fichier de mot de passe...

Merci pour votre aide.

Hors ligne

#2 09/03/2011 17:12:50

gleu
Administrateur

Re : pgAgent sur Windows 2008 R2 X64

Testez avec psql si vous arrivez à vous connecter sans mot de passe. Les deux outils peuvent utiliser ce fichier.


Guillaume.

Hors ligne

#3 09/03/2011 18:21:44

GloReX
Membre

Re : pgAgent sur Windows 2008 R2 X64

Merci de prendre le temps de me répondre.

Dans la CLI, lorsque je tape la commande suivante

psql -U postgres -h <db_serv_ip_adr> -d postgres

l'application me demande le mot de passe de l'utilisateur postgres. Je suppose donc que l'on peut dire que l'appli ne trouve pas le fichier.

Hors ligne

#4 09/03/2011 21:20:34

gleu
Administrateur

Re : pgAgent sur Windows 2008 R2 X64

C'est pas psql qui cherche ce fichier mais la bibliothèque de PostgreSQL. Pour en revenir à votre problème, soit le fichier est au mauvais endroit soit il est mal codé.


Guillaume.

Hors ligne

#5 10/03/2011 10:28:47

GloReX
Membre

Re : pgAgent sur Windows 2008 R2 X64

Le fichier pgpass.conf est placé dans deux répertoires

Il a été créé automatiquement dans celui-ci

C:\Users\postgres\AppData\Roaming\postgresql

et je l'ai copié  dans

C:\Users\postgres\AppData\postgresql

afin de correspondre a la documentation technique, qui indique %APPDATA%\postgresql

Un peu plus de précision:
Je ne sais pas si ça a un rapport, mais lors de l'installation de pg j'ai copié le .exe dans le répertoire de pgAdmin III, puis exécuté le script sql. Ensuite lorsque j'ai lancé la ligne de commande permettant l'installation du service, j'ai obtenu des erreurs m'indiquant que des librairies étaient manquantes (si mes souvenirs sont bon). J'ai trouvé sur un fofo anglais, qui indiquait cela était du au fait que pgAgent recherchait des dll 32bits et qu'il ne les trouvaient pas car celles installées étaient en 64bits. Il fallait donc récupérer les .dll 32bits d'une installation de postgres x86, et ensuite les copier dans le répertoire de pgAgent, ce que j'ai fait.
Suite à cela, pgAgent s'est installé mais ne veut toujours pas démarrer. Voyez-vous un rapport ?

Hors ligne

#6 10/03/2011 10:58:59

gleu
Administrateur

Re : pgAgent sur Windows 2008 R2 X64

Non, je n'y vois pas de rapport. D'après la ligne de commande, le service utilise l'utilisateur Windows postgres. Il faut peut-être s'assurer que c'est bien le cas en allant dans les propriétés du service pgagent.

Quand vous avez lancé la commande psql, c'était en tant que quel utilisateur Windows ? postgres ? parce que suivant l'utilisateur, le fichier ne se trouve pas au même endroit.


Guillaume.

Hors ligne

#7 10/03/2011 13:03:58

GloReX
Membre

Re : pgAgent sur Windows 2008 R2 X64

L'utilisateur Windows est bien postgres et non j'étais sous une session d'administration.
Lorsque je me place sous la session postgres, la commande fonctionne sans problème... cependant le service ne veut toujours par démarrer.


J'ai modifier le fichier pgpass.conf, afin qu'il ait un mdp pour se connecter a la db. C'est pour cela que cela ne fonctionnait pas sous la session d'administration. Maintenant la commande psql fonctionne

 psql -U postgres -h <serv_ip_addr> -d postgres

Dernière modification par GloReX (10/03/2011 13:18:44)

Hors ligne

#8 14/03/2011 10:15:57

GloReX
Membre

Re : pgAgent sur Windows 2008 R2 X64

Personne n'a d'idée parce que je sèche...

Hors ligne

#9 14/03/2011 10:21:44

Marc Cousin
Membre

Re : pgAgent sur Windows 2008 R2 X64

Si la console psql fonctionne, que se passe t'il au niveau de pgagent ? Toujours le message : «Couldn't create the primary connection (attempt 2): fe_sendauth: no password supplied» ?

Il faudrait vérifier que vous arrivez à faire du psql avec l'utilisateur système postgres, qui, je présume, est celui qui va aussi faire fonctionner pgagent. Sous unix ça se fait avec un su ou sudo, sous windows, il faudra réussir à le faire avec un 'runas'

=> Essayez déjà d'ouvrir un prompt en tant que postgres, avec un runas ……… cmd.com

Je ne me souviens plus des options de runas par contre, désolé.


Marc.

Hors ligne

#10 16/03/2011 22:36:02

KrysKool
Administrateur

Re : pgAgent sur Windows 2008 R2 X64

Bonsoir

Attention sous Windows un service, via un utilisateur système n'a pas de HOME, c'est con mais c'est comme ça, donc la manipulation du pgpass.conf ne marche pas.

il faut forcer soit les variables d'environnement sur l'utilisateur de la session, ou utiliser la notion de service que j'ai décrite ici

Cordialement,


Christophe Chauvet
Directeur Technique
Sylëam Info Services
Mon site

Hors ligne

#11 17/03/2011 20:09:54

GloReX
Membre

Re : pgAgent sur Windows 2008 R2 X64

Bonsoir,

Je n'ai pas encore eu le temps de me replonger dans ce problème...

Merci Marc et KrysKool pour vos réponses, dès que j'ai pu les tester j'informe le fofo du retour.

Hors ligne

#12 22/03/2011 11:49:43

GloReX
Membre

Re : pgAgent sur Windows 2008 R2 X64

Bonjour,

J'ai essayer votre solution, qui malheureusement chez moi ne veut pas fonctionner... En désespoir de cause et n'ayant plus de temps a perdre je vais faire le mal absolu mettre... mettre le mdp dans la chaine de connexion (Oui, c'est très très mal)

Le service démarre mais il m'indique que le schéma n'est pas à jour. Je dois être maudis sad

Unsupported schema version: 4445112. Version 24481452 is required - please run pgagent_upgrade.sql.

Bien entendu j'ai utilisé le fichier de création du schéma livré avec pgAgent...

Hors ligne

#13 25/03/2011 11:00:45

GloReX
Membre

Re : pgAgent sur Windows 2008 R2 X64

Bonjour,

Le service se lance et semble se connecter à la base postgres. Il s'agissait d'un simple problème de droit sur les bdd et schémas, ou oubli de GRANT USAGE.

Y a plus qu'a configuré les jobs et croiser les doigts pour qu'enfin les choses se passent bien.

Bonne journée et merci a tous.

Hors ligne

#14 25/03/2011 14:26:48

Marc Cousin
Membre

Re : pgAgent sur Windows 2008 R2 X64

Excellente nouvelle. Merci pour le retour !


Marc.

Hors ligne

Pied de page des forums