IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 PostgreSQL Discussion :

Fonction équivalente à "Create Event" MySql


Sujet :

PostgreSQL

  1. #1
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut Fonction équivalente à "Create Event" MySql
    Bonjour,
    Après quelques recherches, j'ai des doutes concernant la création de tâches planifiées.

    Je dois migrer une base MySql vers du pgsql, chose qui n'à vraiment pas étée facile. Bref, j'utilisais un "EVENT" qui tournait en tâche de fond et me permettait de mettre à jour les champs de ma base de donnée en fonction de la date du jour.
    voici la fonction utilisé dans MySQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CREATE EVENT `DELETE_OLD_FILES` ON SCHEDULE EVERY 1 DAY STARTS '2009-09-19 04:00:00' ON COMPLETION NOT PRESERVE ENABLE DO UPDATE link SET BoolSuppr = 1
    WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) = Date
    Mon problème c'est que je cherche le moyen de reproduire quelque chose de similaire pour la base pgsql.
    En cherchant sur le net, il me semble avoir compris qu'il faut utiliser une fonction et ensuite un trigger qui fait appel à la fonction...
    Mais je ne suis vraiment pas sur de moi, et je ne sais pas comment m'y prendre.
    Je me tourne donc vers vous afin d'obtenir vos lumières.

    Merci par avance pour votre aide.
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Il n'y a pas d'ordonnanceur de tâche dans postgresql, c.a.d une fonctionnalité qui serait comparable aux JOBs d'oracle ou aux EVENTs de mysql.
    Les fonctions n'y peuvent rien, ni les triggers.

    La solution typique à ce besoin est d'utiliser l'ordonnanceur de tâche du système d'exploitation (=cron sous unix) qui appelle l'interpréteur psql avec un script sql embarqué.

  3. #3
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    si je comprend bien, il faut que je créé un script shell qui execute une commande sql...
    C'est bien dommage que pgsql ne gère pas cela.

    Merci pour cette information, je vais donc me tourner vers cette solution.
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Le script en soi est l'affaire de 4 lignes, ce n'est pas trop un problème. Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #!/bin/sh
    psql -U user -d base << EOF
    UPDATE table .. SET... WHERE... ;
    EOF
    En revanche il faut un réglage des permissions pour que la connexion se fasse sans mot de passe, ou bien mettre ce mot de passe en dur dans le script via PGPASSWORD ou bien faire un fichier .pgpass.
    A maintenir dans le temps mine de rien c'est quand même de l'administration.

  5. #5
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    En effet bonne information... je n'avais pas pensé au mot de passe.
    Je vais me pencher la dessus et dès que j'ai quelque chose qui fonctionne, je le mettrais en ligne afin que cela puisse servir à quelqu'un d'autre.
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction équivalente a locate sous mysql
    Par Rakken dans le forum Oracle
    Réponses: 3
    Dernier message: 05/02/2007, 12h15
  2. Fonction équivalente à htmlentities sous MySQL
    Par navis84 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 29/05/2006, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo