Hallo zusammen,

nach einem Festplatten-Crash meines Laptops habe ich den Elephant auf (m)einem Desktop installiert und die gesamten Hand-Dateien, die ich retten konnte "imported".

Nun ist mein Laptop repariert und ich habe nach einem "einfachen" Weg gesucht, die Datenbank vom Desktop wieder auf den Laptop zu bekommen.

Dazu habe ich das Forum mal durchsucht, aber die Antworten dazu waren so etwas von dürftig, dass ich mich gezwungen sehe, hierzu selber mal etwas zusammen zu schreiben:

Methode 1:

Prinzip: Alle Hände im (neuen) Elephanten über die Standard "Import"- Funktionalität laden.

Um die dazu benötigten Handdateien zu generieren benutzt man die "Start Database backup" Funktion unter Settings/Database Management.

Gegenüber den ggf. verfügbaren "original" Handdateien hat dieses Vorgehen den großen Vorteil, dass auch die Kommentare mit abgespeichert werden. Man sollte allerdings ein eigenes Verzeichnis für das jeweilige Backup erstellen, da eine Vielzahl von Dateien geschrieben wird. (Das hat zudem den Vorteil, dass man beim Import nur mit "add folder" genau dieses Verzeichnis angegeben werden).

FEATURE: wenn jemand seine Hände aus verschiedenen Pokerräumen (z.B. aus Effizienzgründen) in zwei unterschiedliche (vollständig getrennte) Datenbanken unterbringen will, dann eignet sich b) auch, denn die Hände werden in Dateien geschrieben, deren Namen mit dem Pokerraum beginnt. Also steht einer Aufsplittung beim re-import nichts mehr im Wege.

NOTE: Ich musste die Einstellungen für die Pokerräume (Screenname) manuell setzten - die wurden beim Import nicht automatisch erkannt!!!

DAUER/AUFWAND (Basis: mickrige 23k Hände)
Export: ~1minute (vielleicht auch 2); 25MB auf Festplatte. Das Kopieren auf den USB Stick hat sicherlich nochmal 2 Minuten gebraucht (weil es so viele Dateien sind, nehme ich an)
Import (in leere DB): 8min 47sec (direkt vom Stick)
Total also: ~13-15 min -> max. 2k Hände/min

Methode 2 (Export/Import mit dem DB Admin Programm pgadmin III (v1.8)

Export: im pgadmin Programm die elephantdb (oder wie auch immer die DB benannt ist, die exportiert werden soll) anwählen (ggf. Doppelkick um die Verbindung zur DB herzustellen), rechte Maus "Backup", (Standard Einstellungen), Dateiname angeben und "Ok". 23k Hände -> ~1-2 minuten, dann ist die Backupdatei (14MB) fertig. Kopieren auf den USB Stick: keine wahrnehmbare Zeit

Import:
Versuch 1: Import in bestehende (leere) elephantdb
Elephant runterfahren, damit nicht irgendein Prozess die DB blockiert!!!
Datenbank anwählen, rechte Maus "Wiederherstellen", Dateiname der Backup-Datei angeben, (standard optionen), Ok
-> Import beginnt, ist aber nach einer halben Stunde immer noch beschäftigt - dieses Verhalten wird auch in anderen Threads berichtet. pgAdmin UND pg_restore Prozesse killen und nächster Versuch:
Importieren mit abgeschalteten Triggern (macht eigenlich auch mehr Sinn).
-> Import ist nach 4 Minuten zwar (mit Fehlern) fertig, aber in der DB ist nix drin.
FAZIT: Restore wird wohl nur in eine leere (d.h. nichtmal Schemata angelegt) DB funktionieren!!!

Versuch 2: Erstellen und Importieren in eine leere DB
Erstmal eine DB im Elephant erstellen (ist nötig, da sonst der Elephant nichts von einer andersweitig angelegten DB wissen will. Die wird zwar angezeigt, kann aber nicht aktiviert werden ...): Settings/Database Management; "Create a new Database"; DB Namen eingeben und merken (Groß/Kleinschreibung IST relevant).
Dann erstmal die ursprüngliche, original Datenbank wieder aktiv setzten und (sicherheitshalber, das nix die DB blockiert) den Elephant beenden.
Im PgAdmin Tool die gerade erstellte DB per rechte Maus "Löschen/Drop" löschen.
Dann Datenbank erstellen: rechte Maus auf "Datenbanken" und "Neue Datenbank" selektieren; Namen angeben (wie oben, Groß-Kleinschreibung beachten),"Kodierung" UTF8 auswählen und dann OK.
Doppelklick auf die neue DB (zum verbinden), auf gleichem Eintrag rechte Maus und "Wiederherstellen" (wie in Versuch 1 mit Standard Parametern)
nach 2 Minuten : Process mit Exitcode 1 beendet. 26 Errors ignored ... dumm, aber scheint nichts auszumachen. Allerdings muss der Import mit "Abbrechen" beendet werden (die Daten sind aber trotzdem geladen).
Dann Elephant neu starten, die Datenbank aktivieren, Screen Names setzten, und viola - fertig!

DAUER/AUFWAND: (Basis: mickrige 23k Hände)
Export: 2-3 Minuten
Import 2-3 Minuten
Total also 4-6 min -> ~4k Hände/min

Vergleich mit der ersten Methode: Summen Daten sind ok. Ob sonst wirklich alles in Ordnung ist kann ich aber im Moment noch nicht definitiv sagen - scheint aber so.

Ob die Zeit bei großen Datenmengen linear einhergeht kann ich nicht sagen, aber vermutlich wird Methode 2 im Verhältnis noch viel besser werden.
Allerdings hat man bei Methode 1 die Möglichkeit, die Hände schrittweise zu laden: man mus ja nicht alle Files in einem Schritt importieren UND der Elephant zeigt den Fortschritt an ... PgAdmin Import schweigt einen bis zum Erfolg/Misserfolg (ggf. stundenlang ...) an.

Viel Erfolg also,
MfG Enno.

PS: Alles für Elephant V0.67 mit pgAdmin 1.8