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 :

Interblocage requête select et process Vacuum postgres 8.2


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 65
    Par défaut Interblocage requête select et process Vacuum postgres 8.2
    Bonjour,

    De formation DBA Oracle et en mission sur Postgre que je découvre donc depuis peu je rencontre un phénomène qui ne me semble pas être anodin.

    J'ai une requête que l'on m'a demandé d'optimiser, chose faite je me rend compte que celle ci se retrouve bloqué dés q'un process vaccum devient actif (toutes les heures). J'ai lu que vacuum si il n'est pas full ne pose pas de lock, ma requête est un select et est donc supposé ne pas en mettre non plus; néanmoins d'autres requêtes ne semblent pas reproduire le même problème.

    Aussitôt le vacuum démarre (après test) aussitôt ma requête se bloque ainsi que le vaccum pour ne plus jamais répondre si l'on n'annule pas l'un ou l'autre, de plus a ce moment la j'utilise la commande Unix top je m'aperçois que le process Postgre consomme la totalité de la cpu de la machine (a ce moment la uniquement j'entend).

    Je suis en version 8.2, avez vous déjà rencontré ce problème ? Si oui pouvez m'aider à le diagnostiquer et résoudre ce problème ? Merci d'avance.

    Cordialement,

  2. #2
    Membre Expert
    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
    Par défaut
    Ca peut se régler avec le paramétrage d'autovacuum. Une autre solution plus simple quand elle est acceptable est de remplacer autovacuum par son propre batch de nuit qui fait VACUUM et ANALYZE inconditionnellement.

    A voir aussi que la version 8.2 n'est plus supportée depuis l'an dernier et ne bénéficie pas des améliorations apportées à autovacuum dans les versions ultérieures (5 versions majeures quand même).

  3. #3
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 65
    Par défaut
    Merci, j'ai réussi a régler le probléme en paramétrant correctement l'intervention du vacuum et en retaillant la maintenance_work_mem.

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

Discussions similaires

  1. Résultat commençant par un chiffre avec requête SELECT
    Par nicolas.pissard dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/04/2010, 13h31
  2. C'est possible dans une requête SELECT ?
    Par Kokito dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/04/2005, 16h59
  3. Insertion multiple à base de sous requête SELECT
    Par drinkmilk dans le forum Langage SQL
    Réponses: 8
    Dernier message: 14/04/2005, 16h34
  4. SQL Server 7.0 - Requête Select
    Par sangokus dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 23/03/2004, 10h32
  5. Optimisations mysql sur les requêtes SELECT: index
    Par leo'z dans le forum Débuter
    Réponses: 2
    Dernier message: 29/11/2003, 13h23

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