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 :

Intégrité / fiabilité des données


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 84
    Par défaut Intégrité / fiabilité des données
    Bonjour,

    J'utilise PostgreSQL 8.2.

    Selon la documentation, Postgres garantie l'intégrité des données sauf en cas de problème sur disque (ou a cause des caches si coupure).

    Etant donné que j'utilise Postgres dans un contexte peu fiable (pas sur disque dur), je souhaite tester la fiabilité des bases.

    Afin d'avoir une idée sur le comportement du serveur sur des données altérées, je fait des tests de suppression de répertoire dans la base système pour commencer. A ma grande surpise le serveur arrive a démarré et toute les requêtes que je fais fonctionne.
    C'est sur que ce n'est franchement pas terrible comme méthode.

    Connaissait vous une commande, un utilitaire, une requête capable de déterminer si la base n'est pas altéré?

    Cordialement,
    Arnaud

  2. #2
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Cela ne suffirait-il pas en regardant le journal de log du serveur Postgresql ?

    Que veux-tu dire par "pas sur disque dur" ?

    Comment sauvegardes-tu ta base ?
    Si jamais tu perds un disque ou un filesystem que tu ne peux reconstruire tout de suite, tu fais comment pour restaurer ta base ?
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 84
    Par défaut
    Un OS et le serveur Postgres sont sur du matériel embarqué.
    Je passe les détails mais le support n'est pas autant fiable qu'un disque dur en particulier sur des coupures courant.

    (Je pense tout de même qu'un serveur postgres aura exactement les mêmes problème sur un gros serveur en cas de coupure de courant).

    En cas de problème, je suis prêt à perdre mes données. Des scripts suppriment puis recréent tout (vide bien sur).
    La question est "comment détecter que ma base n'est plus intègre.

    J'ai pensé à deux solutions:

    - Solution 1 -
    Si j'arrive a démarrer le serveur et que j'arrive a faire un vacuum sur ma base ainsi que sur ma base système alors je considère que ma mémoire n'est pas endommagé => je pense que ca ne marche pas, il faut que je refasse des tests.

    - Solution 2 -
    Lancer la commande pg_controldata => Ca c'est sur, elle ne détecte pas les problèmes.

    En fait j'imagine des solutions mais je crois pas en détenir une satisfaisante.

    Merci de ta réponse

  4. #4
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Normalement quand la base s'arrête brutalement (panne de courant par exemple), Postgresql est capable de faire au redémarrage le recovery automatiquement grâce à ses journaux de transaction, mais cela implique que tous les disques contenant des fichiers de la base soient là quand tu veux redémarrer

    Si pour une raison quelconque il te manque un disque, il faudrait que tu arrives à détecter lequel est manquant avec des commandes OS, et à reconstruire ta base Postgresql en partant d'une sauvegarde sur les autres disques encore présents ... Pas évident mais faisable
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 84
    Par défaut
    Dans mon cas je n'ai qu'un disque (une compact flash). Le but de mon test est de savoir si cette compact flash doit être équipée de cache avec batterie.

    Dans le chapitre 27 Fiabilité de la documentation PostgreSQL,
    Ils expliquent bien que Postgres Garantie l'intégrité sauf en cas de problème sur l'espace non volatile ainsi que sur mémoire utilisant des caches.

    Je me penche donc sur ces deux problèmes mais je n'arrive pas à trouver une méthode.

Discussions similaires

  1. sécurité et fiabilité des données
    Par cheickna dans le forum Excel
    Réponses: 2
    Dernier message: 01/06/2015, 11h45
  2. Problème de fiabilité des données
    Par Mr. NoReaction dans le forum Sécurité
    Réponses: 1
    Dernier message: 14/03/2008, 15h50
  3. Réponses: 4
    Dernier message: 09/01/2007, 15h20
  4. [OLAP]verifier l'intégrité des données
    Par crazy dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 13/07/2006, 12h30

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