mAirList DB Backup

Hallöchen,

wir stehen vor dem ersten großen Umzug unserer mAirList Professional Datenbank auf einen neuen Computer. Nun will ich auf Nummer sicher gehen und noch mal nachfragen wie ich die PostgreSQL genau backuppen soll, damit auf dem neuen PC alles identisch wieder funktioniert.

Ich gehe deswegen auf Nummer sicher weil in dieser Datenbank 50.000 Titel mit CUE Daten und Co. versehen sind und es wäre für mich eine Katastrophe wären diese verschwunden.

Vielen Dank für eure Hilfe
Paul

Bei PostgreSQL sind entsprechende Kommadozeilentools (pg_dump und pg_restore) dabei. Im Windows-Frontend (pgAdmin) kann man die einfach über das Menü aufrufen (Rechtsklick auf Datenbank -> Backup).

Hey Torben,

ich habe jetzt das Backup über den PgAdmin III erstellt (Rechte Maustaste auf Datenbank und dann Sicherung). Dabei kommt eine .backup Datei herraus. Diese wollte ich in die neue Postgres Datenbank einspielen (Rechte Maustaste auf Datenbank und dann Wiederherstellen). Leider folgen 121 ignorierte Fehler und der Prozess beendete mit Exitcode 1.

Ich hänge dir den Verlauf mal ran:

Danke für deine Mühe!
Paul


pg_backup.txt (63.5 KB)

Mir scheint, dass das Restore-Tool versucht das wieder in die Datenbank “mairlist” einzuspielen und nicht in “mairlist2”.

[quote]
pg_restore: verbinde mit der Datenbank zur Wiederherstellung
pg_restore: erstelle DATABASE mairlist
pg_restore: [Archivierer (DB)] Fehler in Phase PROCESSING TOC:
pg_restore: [Archivierer (DB)] Fehler in Inhaltsverzeichniseintrag 1972; 1262 16396 DATABASE mairlist mairlist
pg_restore: [Archivierer (DB)] could not execute query: FEHLER: Datenbank »mairlist« existiert bereits
[/qote]

Wenn ich mich nicht irre, muss man schon beim Backup irgendwo als Option angeben, dass der Datenbankname nicht im Dump vermerkt werden soll; nur dann kann man den Dump später in eine Datenbank anderen Namens einspielen.

Habe es gerade mit dem identischen Namen probiert. Leider selber Fehler.

Ist die Datenbank “mairlist” auf dem Zielrechner denn wirklich komplett leer? Da darf nichts drin sein, auch die Tabellenstruktur (Schema) nicht eingerichtet worden sein.

Hey Ho,

also ich habe nichts eingefügt und alles was zu löschen ging, gelöscht. Leider immer noch kein Erfolg.
Ich hänge dir mal ein Screenshot an, wie die DB momentan aussieht.

Kann es daran liegen das es eine neuere Version von PostgresSQL ist? 9.1

Paul


screen_db.jpg

Habe jetzt 8.4 installiert und die Privilegien auf ALL gesetzt.

jetzt erscheinen nur noch noch 28 Fehler mit Exitcode 1.

Ich hänge den Bericht mal ran.


pg_restore_2.txt (25.8 KB)

Das letzte Log sieht so aus, als hättest du die gesamte PostgreSQL-Instanz (incl. Verwaltungs-Infos) gesichert und nicht nur die Datenbank “mairlist”.

Dadurch versucht pg_restore dann alle möglichen Dinge wiederherzustellen, die es in der neuen Instanz standardmäßig schon gibt.

Ich habe gerade kein Windows-PostgreSQL zur Hand. Aber kann es sein, dass du beim Backup mit der rechten Maustaste auf den Knoten “PostgreSQL x.x (localhost:5432)” geklickt und dann Backup ausgewählt hast? Richtig wäre auf “mairlist” zu klicken und es dort zu wählen.

Auf der Konsole wäre es so schön einfach…

pg_backup -Fc mairlist >backup.sql

Ne habe schon die mairlist DB angeklickt.

Dann probieren wir es über die Konsole.
Ich habe die SQL Shell (geöffnet) und bin soweit vorgedrungen, das er mir jetzt #mairlist: anzeigt.

Soll ich dort den von dir genannten Code eingeben? Wenn ja, wo legt er das Backup dann ab?

Gemeint ist die Betriebssystem-Konsole, also Windows-Eingabeaufforderung. Du musst natürlich vorher in das Verzeichnis wechseln, in dem sich pg_backup befindet.

Bin jetzt ins Verzeichnis gewechselt und habe deinen Befehl eingegeben, leider sagt er mir Error - Der Befehl sei falsch.

Langsam verzweifel ich!

Was genau für eine Fehlermeldung?

Also bin mit cd ins Verzeichnis C:\Programme\PostgreSQL\8.4\bin gewechselt.

Anschließend habe ich deinen Befehl eingegeben. Daraufhin sagt er “Entweder falsch geschrieben oder konnte nicht gefunden werden”

Muss der Befehl nicht pg_dump heißen? Da fragt er mich zumindest nach einem Passwort - danach erhalte ich die Meldung: Verbindung zur Datenbank mairlist fehlgeschlagen. Passwort Authentifiezierung für User Radiomusik fehlgeschlagen.

Habe es jetzt noch einmal über die GUI probiert. Backup problemlos gelaufen, Exitcode 0 mit der Methode Compress.

Wiederherstellen: 28 Fehler weiterhin mit Exitcode 1 - Was mache ich denn bitte falsch?


pg_restore3.txt (34.8 KB)

So ich habe es hinbekommen! Juhuuu!

Es läuft jetzt über localhost in der mAirList Config.
Die IP hat sich allerdings geändert von 192.168.10.54 auf 192.168.10.109 - wenn ich jetzt verbinden will mit der neuen IP zeigt er mir eine Fehlermeldung an, irgendwas mit SSL aus. Habe dir den Bugreport von mAirList mal rangehängt. Firewall ist bereits aus.


bugreport_ip.txt (33.2 KB)

Die meisten Fehler scheinen darin begründet zu sein, dass die mAirList-Sicherheitsrollen (noch) nicht auf dem neuen Server eingerichtet wurde. Das kannst du später in mAirListConfig nachholen.

Sind jetzt eingerichtet! Bleibt nur noch das pg_hba.conf Problem. Auf dem Senderechner (localhost) läuft es jetzt problemlos, jetzt müssen nur noch die anderen Rechner über die IP verbunden werden, und da kommt halt die pg_hba Fehlermeldung.

So, jetzt läuft alles! Besten Dank für deine Hilfe! 8)

Ja, die pg_hba.conf nervt etwas. PostgreSQL ist halt von Haus aus sehr sicher und möchte, dass man jeden Netzwerkzugriff explizit freischaltet. Sei’s drum - danach ist es ein toller Datenbankserver, meiner Meinung nach um Längen besser als MySQL.