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.
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).
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.
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.
Ist die Datenbank “mairlist” auf dem Zielrechner denn wirklich komplett leer? Da darf nichts drin sein, auch die Tabellenstruktur (Schema) nicht eingerichtet worden sein.
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
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.
Gemeint ist die Betriebssystem-Konsole, also Windows-Eingabeaufforderung. Du musst natürlich vorher in das Verzeichnis wechseln, in dem sich pg_backup befindet.
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.
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.
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.
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.