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

Administration PostgreSQL Discussion :

Interruption brutale du client


Sujet :

Administration PostgreSQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 10
    Points
    10
    Par défaut Interruption brutale du client
    Bonjour,

    On projette d'installer postgreSQL en client/serveur . J'ai regardé la doc, mais je n'ai pas trouvé ce que je cherchais
    Je me pose la question suivante:
    Si un client est connecte au serveur , et que le client est arrête brutalement
    ( kill -9 etc ), comment se comporte postgreSQL ?

    Le postmaster sur le serveur détruit les processus correspondant au client ?
    ou se retrouve-t-on avec des processus zombies ou autre et des connections dans le vide ? autrement , est ce qu'il s'en sort proprement sans corrompre la base ?

    Quelqu'un aurait-il experimenté des cas de figures du même type
    merci

  2. #2
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Un peu de lectures ici et ...
    En fin, ne soit pas étonné de ne pas avoir de réponse! On suppose que...
    Du courage!!!!
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Je ne vois pas bien le lien avec mon post mais
    en fait j'ai fait un essai de principe en faisant des kill -9 brutalement sur les processus postgres de connexion dans différents cas et cela n'a pas eu d'impact a priori

    merci d'avoir repondu

  4. #4
    Membre habitué

    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 101
    Points : 141
    Points
    141
    Par défaut
    Au niveau de la requête , son résultat est sûrement renvoyée au client, qui n'est pas là pour la gérer pas la gérer, tout simplement. J'imagine que les COMMIT éventuels sont exécutés...

    Sinon il est possible de définir un timeout sur les requêtes au niveau de la session via l'option
    "SET statement_timeout (integer)" (au niveau de la session) ou dans psotgres.conf (global)
    http://www.postgresql.org/docs/8.3/s...ig-client.html

    (j’ignore si ce paramlètre a une valeur par défaut, la documentation pourrait être plus explciite)

    La libraire PHP pour Postgresql permet de définir des connexion persistante avec l'option "pgsql.auto_reset_persistent"
    http://php.net/manual/en/pgsql.configuration.php

    Il existe un gestionnaire de pool appelé PgBouncer qui permet apparemment de gérer de timeout au niveau de la connexion:
    http://wiki.postgresql.org/wiki/PgBouncer
    http://pgbouncer.projects.pgfoundry.org/doc/config.html
    (voir "Connection sanity checks, timeouts").

    Mais je ne crois pas qu'il soit possible de demander à Postgres de détecter un crash d'un client hors le réglage d'une timeout...cela n'est pas vraiment le rôle d'un DBMS, serait compliqué à mettre en œuvre au niveau réseau et risquerait de rendre le système moins réactif.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 760
    Points : 52 541
    Points
    52 541
    Billets dans le blog
    5
    Par défaut
    Un SGBD Relationnel termine toujours ses transactions par un COMMIT (validation) ou un ROLLBACK, même en cas de panne du système (le journal de transaction est là pour ça). Toute requête est une transaction à part entière...
    Un KILL de connexion correspond à un ROLLBACK initié par le DBA et non l'utilisateur.

    À me lire : http://sqlpro.developpez.com/cours/sqlaz/techniques/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. deconnexion brutale d'un client
    Par zinia dans le forum Struts 1
    Réponses: 3
    Dernier message: 21/05/2008, 12h33
  2. Réponses: 2
    Dernier message: 13/12/2006, 17h40
  3. Langage le mieux adapté pour application client serveur ?
    Par guenus dans le forum Débats sur le développement - Le Best Of
    Réponses: 4
    Dernier message: 17/06/2002, 15h46
  4. Client C pour CORBA
    Par rv dans le forum CORBA
    Réponses: 3
    Dernier message: 06/05/2002, 11h35
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 15h57

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