Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 09/11/2012 13:04:13
- simolay
- Membre
déclencher une requête à une heure précise chaque jour PostgreSQL
bonjour,
j'aimerais avoir vos lumières sur une chose.
j'aimerais déclencher une requête à une certaine heure.
faut-il utiliser un Timer ou autre chose ? et comment ?
merci d'avance
Hors ligne
#2 09/11/2012 13:20:28
- kenrio
- Membre
Re : déclencher une requête à une heure précise chaque jour PostgreSQL
Pourquoi pas utiliser le cron (linux) ou le scheduler (win) ?
Dernière modification par kenrio (09/11/2012 13:20:37)
Hors ligne
#3 10/11/2012 21:37:42
- SQLpro
- Membre
Re : déclencher une requête à une heure précise chaque jour PostgreSQL
le mieux serait d'utiliser PGagent.
A +
Frédéric Brouard, alias SQLpro, ARCHITECTE DE DONNÉES, Expert langage SQL
Le site sur les SGBD relationnel et langage SQL : http://sqlpro.developpez.com/
Modélisation de données, conseil, expertise, audit, optimisation, tuning, formation
* * * * * Enseignant CNAM PACA, ISEN Toulon, CESI Aix en Provence * * * * *
Hors ligne
#4 15/11/2012 12:34:44
- butin-matou
- Membre
Re : déclencher une requête à une heure précise chaque jour PostgreSQL
Chez nous, avec Ubuntu 12.04 et PG 9.1.6, j'ai un cron job qui tourne toutes les nuits pour nous faire des stats.
Je fais donc comme ceci ...
1. Cron pour lancer un fichier de commandes bash : postgresbatch.sh
crontab -l
00 22 * * 1-5 bash /home/xx/pgstuff/prod/scripts/bash/postgresbatch.sh # JOB_ID_1
2. Dans postgresbatch.sh, j'ai ceci
psql -f '/home/xx/pgstuff/prod/scripts/psql/psql stats batch.psqlb' -a -d pgbase >'/home/xx/pgstuff/prod/scripts/bash/psql.log' 2>&1
(qui lance psql avec (-f) un nom de fichier en argument, et stocke l'output de psql dans un fichier log psql.log)
3. Ce fichier : 'psql stats batch.psqlb' contient des commandes psql comme ceci
\echo `date`
\timing
\i '/home/xx/pgstuff/prod/scripts/psql/requete01.sql'
\echo `date`
\i '/home/xx/pgstuff/prod/scripts/psql/requete02.sql'
\echo `date`
...
\i '/home/xx/pgstuff/prod/scripts/psql/requete99.sql'
\echo `date`
4. \echo `date` permet de voir la date et l'heure de lancement de chaque requête dans le log et de répérer les fainéants
\i permet d'exécuter une requête
\timing ... err... je ne sais plus
5. pour finir, j'ai un alias : alias greperr='grep -i Error /home/xx/pgstuff/prod/scripts/bash/psql.log'
qui me permet de chercher des erreurs dans le fichier log, rapidos.
Voilà,
"Friendly" ,
Butin
Dernière modification par butin-matou (15/11/2012 12:39:45)
Hors ligne