Vous n'êtes pas identifié(e).
Pages : 1
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
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
damien clochard
http://dalibo.org | http://dalibo.com
Hors ligne
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
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
Uniquement dans la base postgres.
Le mieux est de suivre la doc :
Marc.
Hors ligne
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
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
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
Si pgagent tourne en root, je présume qu'il va utiliser le pgpass de root.
Marc.
Hors ligne
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
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
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
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
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
Pourquoi ne pas tout simplement utiliser cron ?
Guillaume.
Hors ligne
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
Pages : 1