Vous n'êtes pas identifié(e).
Ok, merci beaucoup pour ces réponses. On peut avoir un petit lien qui nous donnerait quelques infos sur ce qu'est MVCC (pour les provinciaux ! ;-) )
A+
Cdlt,
Gilbert
Bonjour,
Je travaille toujours sur les sauvegardes de mes bases postgres et me pose les 2 questions suivantes.
1ere question:
Dans la doc de ref il est dit : "
Les sauvegardes créées par pg_dump sont cohérentes, ce qui signifie que la sauvegarde représente une image de la base de données au moment où commence l'exécution de pg_dump."
Mais si pendant le pg_dump une transaction utilisateur fait plusieurs mises à jour et que le pg_dump commence aprés le début de la transaction et finit avant la fin de la transaction ne rique pas d'avoir une partie seulement des mises à jour. Est-on vraiment sure d'avoir avec le pg_dump une cohérence logique (applicative) ?
2eme question : existe-t- il un autre outil (autre que tar, cp ...) qui permette de faire une sauvegarde quand le service postgresql est arrété ? (j'entends outil postgres)
Merci de vos réponses,
Gilbert
Encore une fois, grand merci à toi, ton lien va sur une explication trés claire et de grande utilité pour moi.
Cdlt,
Gilbert
Super ! , effectivement avec cahier_courant.cahier_classe je vois les données du select.
Mais je comprends pas trop, je suis hébergeur-exploitant, et dans certains cas je vois directement les tables de la base et un select * from toto marche sur la base x alors que là il y a une histoire de shéma en plus. Peux-tu m'expliquer simplement ou me donner un lien sur une explication.
Dernière question , dans mon cas particulier de la base cahier_texte sous psql que dois-je "taper" pour voir les tables (ça me rassure !) , d'hahitude apres le \c nombase, le \d me donne les tables...
Encore merci de ton aide, grâce à toi je vais passer une meilleure nuit ...
A+
Gilbert
Bonjour,
J'ai une base cahier_texte que je sauve par : pg_dump -Fc cahier_texte >Sauv_Fc_cahier_texte j'obtiens donc un fichier Sauv_Fc_cahier_texte qui fait dans les 500 000 octets.
je fais un drop de la base, un create puis un pg_restore --v -d cahier_texte Sauv_Fc_cahier_texte
le pg_restore affiche (j'ai pas tout mis...)
pg_restore: connecting to database for restore
pg_restore: creating SCHEMA cahier_courant
pg_restore: creating SCHEMA public
pg_restore: creating COMMENT SCHEMA public
pg_restore: creating TABLE cahier_annee_scolaire
pg_restore: creating TABLE cahier_classe
pg_restore: creating TABLE cahier_devoir
pg_restore: creating TABLE cahier_eleve
pg_restore: creating TABLE cahier_eleve_classe
pg_restore: creating TABLE cahier_eleve_groupe
pg_restore: creating TABLE cahier_enseignant
pg_restore: creating TABLE cahier_enseignant_classe
pg_restore: creating TABLE cahier_enseignant_enseignement
pg_restore: creating TABLE cahier_enseignant_groupe
pg_restore: creating TABLE cahier_enseignement
pg_restore: creating TABLE cahier_enseignement_sequence
pg_restore: creating TABLE cahier_etab_eleve
pg_restore: creating TABLE cahier_etab_enseignant
pg_restore: creating TABLE cahier_etablissement
pg_restore: creating TABLE cahier_groupe
pg_restore: creating TABLE cahier_groupe_classe
pg_restore: creating TABLE cahier_piece_jointe
pg_restore: creating TABLE cahier_piece_jointe_devoir
pg_restore: creating TABLE cahier_piece_jointe_seance
pg_restore: creating TABLE cahier_seance
pg_restore: creating TABLE cahier_sequence
pg_restore: creating TABLE cahier_type_devoir
pg_restore: restoring data for table "cahier_annee_scolaire"
pg_restore: restoring data for table "cahier_classe"
le problème est que quand je fais su - postgres
puis psql
puis \c cahier_texte
et \d pour voir les tables , il me dit : No relations found.
et si je fais un select * from cahier_classe, il me dit que la table n'existe pas !!!
(et pourtant il a créé dans /usr/local/pgsql/data/base une directory nouvelle avec 195 fichiers, alors que si je fais un seul create database il n'y a que 130 fichiers dans la directory qu'il crée)
Merci de votre aide (je balise sec !!!)
Cdlt
Gilbert
Merci beaucoup Marc, effectivement avec le bon : recovery_target_timeline dans le recovery.conf, ça marche impeccable.
A+
Cdlt
Gilbert
J'essaie lundi et vous tiens au courant.
Bon week
A+
G.
Merci de cette réponse, j'ai fait un essai et j'ai les mêmes messages.
Quand le backup A a été fait il a créé un fichier :
00000003000000000000008F.00000208.backup
dedans il y a :
START WAL LOCATION: 0/8F000208 (file 00000003000000000000008F)
STOP WAL LOCATION: 0/8F000270 (file 00000003000000000000008F)
CHECKPOINT LOCATION: 0/8F000208
START TIME: 2009-10-21 13:37:50 CEST
LABEL: backtestGil
STOP TIME: 2009-10-21 13:38:08 CEST
est ce que la taget_timelien a mettre est bien 00000003000000000000008F ??? c'est ce que j'ai mis...
j'ai aussi un fichier 00000003.history et 00000004.history ....
avec dedans:
1 00000001000000000000007A before transaction 0 at 2000-01-01 01:00:00+01
2 000000020000000000000080 before transaction 0 at 2000-01-01 01:00:00+01
et pour le 0000004 :
1 00000001000000000000007A before transaction 0 at 2000-01-01 01:00:00+01
2 000000020000000000000080 before transaction 0 at 2000-01-01 01:00:00+01
3 000000030000000000000090 before transaction 0 at 2000-01-01 01:00:00+01
Encore grand merci de votre aide ....
A+
G.
En pratique, faudrait que je fasse quoi pour restaurer à partir du backup A (fait en 1er) ???
Merci de votre aide
Cdlt
G.
Je vais essayer d'être plus clair,
Backup A _____ M a J divers ____ crash
ceci est la suite des opérations que je fais dans le temps, j'explicite :
je fais un backup (un tar encadré d'un pg_start_backup et d'un pg-stop_backup) pendant que postgres tourne, puis je fais des Mises à Jour des tables de la base, puis je simule un crash (j'arrete postgres et je restore le tar fait précedemment). Au 1er restore que je fais tout va bien postgres redemarre et je retrouve les mises à jour faites entre le backup nommé A et le crash. Ensuite je refais des mises à jours puis un autre backup nommé B, d'autres mises à jours et encore un crash disque. Le problème est que j'imagine que mon backup B soit perdu, donc je repars de mon backup A et de plus j'ai gardé tous les journaux WAL faits depuis ce backup A. Mais une fois ce backup restoré le processus postgresql ne redémarre plus. Voilà mon souci...
A+
Bonjour,
Je teste la sauvegarde à chaud (service en ligne) et la restoration aprés un crash en rejouant les fichiers WAL.
1er cas)
Backup A ____ M a J diverses ____ crash
je restore le tar du backup A je mets le fichier recovery.conf et c'est ok
2em cas)
Backup A ___ M aJ diverse ___ crash ___ restore de A (ok) ____M a J ____ Backup B ____ M a J____ crash
et je veux restorer toujours du Backuo A ( pas du B, imaginons véreux). Par contre j'ai tous les journaux WAL deuis le backup A. Donc fichier recovery.conf et là le démarrage du service postgresql ECHOUE !!! ...
16:02:26 v221ent-db1test postgres[4525]: [1-1] LOG: could not create IPv6 socket: Address family not supported by protocol
Oct 21 16:02:26 v221ent-db1test postgres[4528]: [2-1] LOG: database system was interrupted; last known up at 2009-10-21 13:37:50 CEST
Oct 21 16:02:26 v221ent-db1test postgres[4528]: [3-1] LOG: starting archive recovery
Oct 21 16:02:26 v221ent-db1test postgres[4528]: [4-1] LOG: restore_command = 'cp /SauvArchiWAL/%f %p'
Oct 21 16:02:26 v221ent-db1test postgres[4528]: [5-1] LOG: restored log file "00000003.history" from archive
Oct 21 16:02:26 v221ent-db1test postgres[4528]: [6-1] LOG: restored log file "00000003000000000000008F.00000208.backup" from archive
Oct 21 16:02:26 v221ent-db1test postgres[4528]: [7-1] LOG: restored log file "00000003000000000000008F" from archive
Oct 21 16:02:26 v221ent-db1test postgres[4528]: [8-1] LOG: automatic recovery in progress
Oct 21 16:02:26 v221ent-db1test postgres[4528]: [9-1] LOG: record with zero length at 0/8F000250
Oct 21 16:02:26 v221ent-db1test postgres[4528]: [10-1] LOG: redo is not required
Oct 21 16:02:26 v221ent-db1test postgres[4528]: [11-1] LOG: restored log file "00000003000000000000008F" from archive
Oct 21 16:02:26 v221ent-db1test postgres[4528]: [12-1] FATAL: WAL ends before end time of backup dump
Oct 21 16:02:26 v221ent-db1test postgres[4525]: [2-1] LOG: startup process (PID 4528) exited with exit code 1
Oct 21 16:02:26 v221ent-db1test postgres[4525]: [3-1] LOG: aborting startup due to startup process failure
Une idée ... ? Merci d'avance
Cdtl
G.