Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[Postgres] restore empty UPDATE

Pagina: 1
Acties:

Verwijderd

Topicstarter
In m'n CMS bewerk ik altijd mijn templates in een HTML textarea field. Nadat ik codepress aan dit element had toegevoegd, kon ik de HTML code prima aanpassen. Per ongeluk heb ik een Postgres UPDATE gedaan en de POST output van de textarea met codepress was leeg. Nu ben ik m'n template kwijt!!!

Ik heb geen recente back-up en ik kan geen rollback doen, omdat ik geen transactions gebruik. De Smarty template is opnieuw gecompileerd, dus die is ook leeg. Is er echt geen mogelijkheid meer om die data ergens terug te vinden? :'(

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Nee, weg = weg. Het CMS wat wij gebruiken (en geschreven) hebben houd ook de verschillende versies bij. Dat geldt ook voor content. Je bent zeg maar niet de eerste die door een fout zijn teksten kwijt is.

Dus voordat er een update wordt gedaan, gebeurt er een insert naar de xx_version table via een database trigger. Via geporte diff tools hebben wij zelfs een ms word 'track changes' presentatie gebouwd zodat ze zelfs kunnen zien wat er tussen de versie is aangepast en door wie (gelijk aan cvs blaim).

Maar als je niet de moeite neemt om backups te maken, vind het het zelfs bijna terrecht dat je je templates kwijt bent. Nu zul je namelijk pas inzien hoe belangrijk backup's zijn..

If it isn't broken, fix it until it is..


Verwijderd

Topicstarter
Omdat ik een tijdje geen VACUUM had gedaan, hoopte ik via point in time recovery m'n data voor de UPDATE terug te krijgen. Postgres onthoud namelijk alle wijzigingen (insert, deletes en updates) in een pg_xlog archief. Ik heb alle instucties gevolgd van deze pagina:
http://www.postgresql.org...active/backup-online.html

Helaas zet Postgres geen data terug tot mijn opgegeven timestamp. Wat doe ik fout?
Dit is mijn log:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
LOG:  database system was interrupted at 2008-04-15 09:06:10 CEST
LOG:  starting archive recovery
LOG:  restore_command = "cp /home/discover-e/recovery/%f %p"
LOG:  recovery_target_time = 2008-04-13 01:00:00+02
LOG:  recovery_target_inclusive = true
LOG:  recovery_target_timeline = latest
cp: cannot stat `/home/discover-e/recovery/00000002.history': No such file or directory
cp: cannot stat `/home/discover-e/recovery/00000001.history': No such file or directory
LOG:  restored log file "00000001000000000000002E" from archive
LOG:  checkpoint record is at 0/2EE3E708
LOG:  redo record is at 0/2EE3E708; undo record is at 0/0; shutdown FALSE
LOG:  next transaction ID: 1570671; next OID: 34636
LOG:  next MultiXactId: 1; next MultiXactOffset: 0
LOG:  automatic recovery in progress
LOG:  record with zero length at 0/2EE3E74C
LOG:  redo is not required
LOG:  restored log file "00000001000000000000002E" from archive
LOG:  archive recovery complete
LOG:  database system is ready


De "cp: cannot stat ..." foutmeldingen zijn gebruikelijk volgens de handleiding (zie link).

Ik hoop echt dat iemand mij hiermee kan helpen! _/-\o_

  • CyBeRSPiN
  • Registratie: Februari 2001
  • Laatst online: 17:20

CyBeRSPiN

sinds 2001

Die handleiding is voor het terugzetten van backups, die backups moet je dan wel hebben. Volgens mij probeer je nu die procedure te volgen zonder over een backup te beschikken.
Zijn die templates niet te reconstrueren dmv je browser cache (of Google cache)?

Ik zou er iig niet alteveel energie meer insteken, zie het als leergeld om voortaan toch echt backups te gebruiken. En nog een tip: controleer wat je in je database stopt, je zult vermoedelijk nooit een "leeg" template willen opslaan, een check hierop had je al uit de brand geholpen, maar das achteraf ;)

Verwijderd

Topicstarter
Bedankt Cyberspin! De gecompileerde template stond inderdaad in de Google desktop cache.
Inmiddels ben ik begonnen om de template opnieuw te maken, want ik had geen bestaande base backup. Erg omslachtig die pg_xlog, maar daar zal nog aan gewerkt worden vermoed ik.

De beveiliging van de templates heb ik nu wel veiliger gemaakt. Ook is m'n back-up veel beter geworden! De CMS content had namelijk al een prullenbak functie. :P

Het is inderdaad lesgeld geweest!! Niks meer aan te doen...