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

#1 14/11/2009 12:41:54

flotho
Membre

Tâches automatiques

Bonjour,

Après quelques recherches infructueuses, je souhaiterai savoir s'il existe un module intégré au serveur postgresql pour lancer des tâches répétitives ou bien s'il faut écrire un script et le lier à une tâche CRON.
Je tourne sur pg8.3.

Merci de vos réponses éclairées.

Hors ligne

#2 14/11/2009 13:45:13

daamien
damien clochard

Re : Tâches automatiques

il existe un mécanisme appelé autovacuum qui peut prendre en charge une grande partie des opérations de maintenance.

Tout est expliqué là : http://docs.postgresql.fr/8.3/maintenan … autovacuum

Hors ligne

#3 14/11/2009 14:01:20

Marc Cousin
Membre

Re : Tâches automatiques

Si ce que vous cherchez est un scheduler intégré au moteur, ce qui s'en rapproche le plus est pgagent. Il fait partie de la suite d'outils de pgadmin.


Marc.

Hors ligne

#4 14/11/2009 16:12:04

flotho
Membre

Re : Tâches automatiques

Bonjour et un grand merci pour ces réponses rapides.

@Damine : pour la maintenance, je connaissais l'autovacuum qui est de toute façon défini automatiquement par défaut dans les config serveur si je ne me trompe pas

@Marc : FORMIDABLE, je me disais bien que cela ne pouvait qu'exister mais comme je n'avais pas compris qu'il fallait 'l'installer' en plus de pgadmin, j'étais tout béta.

Autre question, le script de création des tables pgagent doit il être créé uniquement sur la base postgres du SGBD ou doit il être passé sur toutes les bases sur lesquelles je dois intervenir.

Dans tous les cas un grand merci à tous les deux.

Hors ligne

#5 14/11/2009 16:44:34

Marc Cousin
Membre

Re : Tâches automatiques

Uniquement dans la base postgres.

Le mieux est de suivre la doc :

http://www.pgadmin.org/docs/1.4/pgagent-install.html


Marc.

Hors ligne

#6 14/11/2009 16:56:01

flotho
Membre

Re : Tâches automatiques

Marc,

En effet seulement dans postgres.

J'ai quelques soucis toutefois. J'ai créé un job sans schedule avec une étape toute simple qui me fait un nextvalue sur une sequence histoire de voir les résultats. Malheureusement, j'ai beau tenter d'exécuter, aucun historique ni rien. J'ai donc rajouté un schedule toutes les minutes de chaque heure mais rien non plus.

Je me suis donc dis que je n'avais correctement lancé le pgagent.
voici la commande que j'ai passée en root : pgagent hostaddr=127.0.0.1:5432 dbname=postgres user=postgres
lorsque je fais un ps -ax, mon pgagent est bien là.

Sauriez vous ce qu'il me manquerait dans ma config

En vous remerçiant d'avance de votre aide

Hors ligne

#7 14/11/2009 18:10:27

Marc Cousin
Membre

Re : Tâches automatiques

Le login de l'utilisateur postgres (de la base) est il dans le fichier pgpass et celui ci a t'il bien rw------- comme droit (600 ?)


Marc.

Hors ligne

#8 14/11/2009 18:18:48

flotho
Membre

Re : Tâches automatiques

Marc,

Lorsque je fais fichier>ouvrir pgpass depuis pgadmin, j'ai bien des mots de passe enregistrés. D'ailleurs, lors de la connexion aux serveurs, il ne m'interroge plus car j'ai défini les mots de passe par défaut.

Concernant les droits, j'ai bien -rw pour l'utilisateur courant mais comme c'était précisé dans la doc, j'ai déclaré pgagent en root. Est ce que je dois passer en root / utilisateur courant / utilisateur postgres partout.

Encore merci de votre aide

Hors ligne

#9 14/11/2009 18:30:25

Marc Cousin
Membre

Re : Tâches automatiques

Si pgagent tourne en root, je présume qu'il va utiliser le pgpass de root.


Marc.

Hors ligne

#10 14/11/2009 19:13:12

flotho
Membre

Re : Tâches automatiques

Ok,

J'ai changé le mot de passe du serveur postgres et je l'ai mis comme mon root.
J'ai réussi à avoir une exécution bloquée à 17h48.
Mais depuis impossible de regénérer une exécution.

J'ai deux versions différentes de pgadmin3, la 1.8 et la 1.10 en provenance de enterpriseDB.
J'ai essayé avec les deux mais rien n'y fait

Est ce qu'il pourrait y avoir un conflit entre les versions de pgadmin.

Est ce que je ne devrais pas tout désinstaller et ne conserver qu'une seul installation?

Dernière modification par flotho (14/11/2009 19:15:11)

Hors ligne

#11 14/11/2009 19:38:59

Marc Cousin
Membre

Re : Tâches automatiques

Il vaudrait mieux effectivement n'en avoir qu'une, même si je ne pense pas que ça puisse poser problème.

Si vous voulez savoir ce que pgagent fait, lancez le en augmentant le niveau de log (option -l). Arrêtez le service, et lancez le en tant que root avec les options -f et -l 1 (pgagent -f -l 1)


Marc.

Hors ligne

#12 14/11/2009 19:41:33

flotho
Membre

Re : Tâches automatiques

Je vais retester la chose,

J'ai tout supprimé et je suis en train de retélécharger la dernière version de postgresql

Hors ligne

#13 15/11/2009 00:27:24

flotho
Membre

Re : Tâches automatiques

Bon

j'ai cassé mon éléphant.
J'ai tout supprimé et installer la 8.4 avec pgadmin3 1.10.
Du coup pgagent ne vient pas avec d'office.
Je l'ai donc téléchargé la version 3.0.0  sur le site mais quand je lance pgagent j'ai le message suivant :

 error while loading shared libraries: libssl.so.0: cannot open shared object file: No such file or directory

Il ne me reste plus qu'à me lancer dans la compilation

snif

Hors ligne

#14 15/11/2009 02:45:00

flotho
Membre

Re : Tâches automatiques

Vraiment galère,

Je blqoue avec wxwidget wui n'est pas reconnu avec la commande FOND_PACKAGE.
J'ai même fait une compil' de wxwidget et rien n'y fait.

Bon, il ne me reste plus que mes yeux pour pleurer

Hors ligne

#15 15/11/2009 08:38:05

gleu
Administrateur

Re : Tâches automatiques

Pourquoi ne pas tout simplement utiliser cron ?


Guillaume.

Hors ligne

#16 15/11/2009 13:28:50

flotho
Membre

Re : Tâches automatiques

Pour plein de raisons :

1 - J'ai pas le temps de me lancer dans le script batch
2 - J'aime bien travailler avec des outils intégrés qui permettent une administration globale de tout ce qui concerne la base de données.

En fait je n'en ai pas d'autres mais on s'en passera pour l'instant.

Hors ligne

Pied de page des forums