Gelöschte Datensätze wiederherstellen?

Fragen und Probleme zu Verwaltungstools.
phppgadmin und pgadmin bitte in die entsprechenden Foren!
Antworten
PG-Coco
Neuer Benutzer
Beiträge: 2
Registriert: Di 23. Jun 2015, 20:46

Gelöschte Datensätze wiederherstellen?

Beitrag von PG-Coco » Di 23. Jun 2015, 20:54

Hallo alle zusammen,

ich habe eine Tabelle in der ich verschiedene Werte eingebe. Leider musste ich gestern feststellen das ich per pgAdmin alle meine Inhalte gelöscht habe!
In meiner GUI sehe ich keinen Datensatz mehr aus dieser Tabelle.

Wenn ich aber per pgAdmin eine select abfrage ausführe sehe ich alle meine Daten in der Tabelle.

Habe diesbezüglich gelesen, dass die Inhalte per Delete nur ausgeblendet werden?

Könnte ich diese vielleicht doch wiederherstellen?

Danke für eure Hilfe.

akretschmer
Erfahrener Benutzer
Beiträge: 7677
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Gelöschte Datensätze wiederherstellen?

Beitrag von akretschmer » Di 23. Jun 2015, 21:09

Ja, spiel das Backup ein ;-)

Im Ernst: Datensätze haben 2 versteckte Felder: xmin und xmax. Diese geben das 'Sichtbarkeitsfenster' an, in welchen Transaktionen diese sichtbar sind. Irgendwann kommt aber das böse VACUUM vorbei und markiert alle Records, die von keiner laufenden TX mehr gesehen werden, dann endgültig als gelöscht. Und irgendwann später wird der Platz wieder für neue oder geänderte records verwendet. That's life.

Was ich an Deiner Darstellung nicht ganz verstehe: in deiner GUI (welche?) siehst nix mehr, in PGAdmin aber doch? Das ist so nicht nachvollziehbar.

PG-Coco
Neuer Benutzer
Beiträge: 2
Registriert: Di 23. Jun 2015, 20:46

Re: Gelöschte Datensätze wiederherstellen?

Beitrag von PG-Coco » Di 23. Jun 2015, 21:21

:-) Danke für deine schnelle Rückantwort.

Ich bin echt Leihe in dieser Geschichte und arbeite mich soeben erst dort ein.

Könntest du mir vielleicht noch einemal in bezug auf xmin und xmax helfen? Wo kann ich diese abändern? Damit ich meine Werte wieder sehe.

In PGAdmin sehe ich per Select alle Datensätze. Habe mir eine kleine Java GUI geschrieben die bekommt nichts mehr zusehen : )

Danke Kretschmer

akretschmer
Erfahrener Benutzer
Beiträge: 7677
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Gelöschte Datensätze wiederherstellen?

Beitrag von akretschmer » Di 23. Jun 2015, 21:29

xmin/xmax kannst Du nicht ändern. Du kannst nach "postgresql restore deleted rows" googeln. Bei allem, was Du dann machst, riskierst Du eher größeren Schaden als Nutzen, das als Warnung.

Geht es nur um eine Tabelle? Dann versuch in PGAdmin mit copy diese zu sichern. Oder selecte die Tabelle in eine neue. "create table my_copy as select * from orig;" - so als Fahrplan. Wobei ich noch immer nicht glauben kann, was Du sagst.

castorp
Erfahrener Benutzer
Beiträge: 1174
Registriert: Sa 27. Jun 2009, 22:24
Wohnort: Bayern

Re: Gelöschte Datensätze wiederherstellen?

Beitrag von castorp » Mi 24. Jun 2015, 07:43

PG-Coco hat geschrieben:In meiner GUI sehe ich keinen Datensatz mehr aus dieser Tabelle.

Wenn ich aber per pgAdmin eine select abfrage ausführe sehe ich alle meine Daten in der Tabelle.
Wenn ein select die Datensätze anzeigt, dann sind sie auch noch in der Datenbank - kein Grund diese wieder herzustellen.

Ich weiß nicht was Deine GUI macht, aber vermutlich macht sie was falsch. Du solltest den Code in einem passenden Java Forum posten. Behandelst Du in Deinem Java Program Fehler korrekt? Also Exception fangen und ausgeben? Vielleicht hast Du einen Syntax-Fehler im SQL des Java Programs, oder die Verbindung scheitert.
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

akretschmer
Erfahrener Benutzer
Beiträge: 7677
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Gelöschte Datensätze wiederherstellen?

Beitrag von akretschmer » Mi 24. Jun 2015, 07:55

@castorp: ack.

Gisman
Erfahrener Benutzer
Beiträge: 1140
Registriert: Fr 20. Jan 2006, 15:30
Wohnort: Pfalz
Kontaktdaten:

Re: Gelöschte Datensätze wiederherstellen?

Beitrag von Gisman » Mi 24. Jun 2015, 09:47

PG-Coco hat geschrieben:Wenn ich aber per pgAdmin eine select abfrage ausführe sehe ich alle meine Daten in der Tabelle.


Wie schon gesagt, dann sind sie auch noch da.

PG-Coco hat geschrieben:Habe diesbezüglich gelesen, dass die Inhalte per Delete nur ausgeblendet werden?

Wo hast du das gelesen? Damit wir davor warnen können ;)

Ich würde mir an deiner Stelle Gedanken über eine Backupstrategie machen, die nicht nur (seltenes) Hardwareversagen sondern auch (häufigere) Benutzerfehler einbezieht. Hat hier schon die eine oder andere Katastrophe verhindert...

Gruß Uwe

Antworten