Hallo zusammen,
habe auf 2 PC Rechnern PostgreSQL 8.2 laufen und habe keinerlei Probleme per dump und restore die Daten zwischen den System hin und her zu schieben.
Habe jetzt auf meinem Mac die Version 8.4 installiert und würde gerne die Daten vom 8.2 (PC) auf den Mac bringen.
Leider funktioniert das irgendwie nicht.
Gehe ich über den Admin und wähle die Wiederherstellung, bleibt das "OK"-Feld grau. Versuche ich es über die SQL-Shell, kommen nach Eingabe von
3 Eingaben, die ich machen muss (DB, Port, Username). Egal was ich da eintrage bekomme ich immer einen Fehler...Code:pg_restore file
Kann mir da jemand helfen? was muss ich tun, um meine Daten auf den Mac zu bekommen...Code:psql: could not translate host name "pg_restore" to address: nodename nor servname provided, or not known
Danke im Voraus!
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Nee, aber habe vorher immer in der Dos-Eingabeaufforderung
verwendet.Code:psql meinedb < dumpfile
Das funktioniert und sql-shell auf dem Mac nicht.
Also habe ich es mit
versucht.Code:pg_restore dumpfile
Klappt auch nicht. Bin mir einfach nicht sicher, was ich unter Mac - oder viell liegt es ja auch an der Version 8.4 - anders machen muss...
Parse error. Funktioniert psql selbst?
"Klappt auch nicht" ist eine NULL-Aussage. Fehlermeldung?Also habe ich es mit
versucht.Code:pg_restore dumpfile
Klappt auch nicht.
Bin mir einfach nicht sicher, was ich unter Mac - oder viell liegt es ja auch an der Version 8.4 - anders machen muss...
Ich wiederhole mich mal: Lies die man-page zu pg_restore.
Also, non-plain-text. Wie hast Du denn den Dump erzeugt?Code:pg_restore is a utility for restoring a PostgreSQL database from an archive created by pg_dump(1) in one of the non-plain-text formats.
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Außerdem müsstest du mit dem pg_dump der Version 8.4 die 8.2 Datenbank sichern.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
also wenn ich
verwende kommen erst 3 Eingabemöglichkeiten:Code:psql postgres < meine_datei.backup
Egal was ich dort eintrage, es kommt immer diese Fehlermeldung:Code:Database [postgres]: Port [5432]: Username [postgres]:
Damit kann ich irgendwie nix anfangen...Code:psql: warning: extra command-line argument "<" ignored psql: warning: extra command-line argument "meine_datei.backup" ignored psql: warning: extra command-line argument "postgres" ignored psql: could not translate host name "psql" to address: nodename nor servname provided, or not known Press <return> to continue... logout [Prozess beendet]
Danach habe ich mir dann pg_restore angeschaut und habe die gleichen Fehlermeldungen.
Jetzt habe ich eben mal
eingegeben und schein jetzt einen Schritt weiter zu sein.Code:psql -d meineDB -W meinpasswd -h localhost
Er fragte mich nach dem Passwort und nun scheine ich in der PgSQL-Konsole zu sein
Nun kann ich aber nur die Üblichen "SELECT, CREATE, DROP, etc." Befehle ausführen...Code:Password for user postgres: psql (8.4.0) Type "help" for help. postgres=#
Also was kann ich machen? Irgendwie verstehe ich nicht, warum es nicht wie gewohnt lüppt...
Ach so, ich habe den Dump mit
aus der Version 8.2 gemacht.Code:pg_dumpall -U postgres > meinBackupFile
An dieser Stelle mal 'help' eingeben, so wie es auch dasteht. Dies würde Dir verraten, daß Du mit \i ein File einlesen kannst.
Das erzeugt ein Plain-Text-Scriptfile, was _NICHT_ für pg_restore geeignet ist. Nochmal: Doku lesen! Jetzt!Ach so, ich habe den Dump mit
aus der Version 8.2 gemacht.Code:pg_dumpall -U postgres > meinBackupFile
Und siehe auch Hinweis von ads: verwende das pg_dump oder pg_dumpall der höheren Version gegen den DB-Server. Dazu haben diese Programme passende Optionen. Du ahnst es vielleicht schon: Doku lesen.
Die Passwort-Abfrage ist auch vermeidbar, falls die stören sollte. Dies ist, Tätäää, in der Doku beschrieben (Hint. pgpass, pg_hba.conf)
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Also ich möchte zZ eigentlich die DBs auf den PCs mit der Veriosn 8.2 nicht anfassen. Und wollte auf meinem Mac einfach PostgreSQL installieren, damit ich vorab ein paar Dinge testen kann.
Leider finde ich in der Doku nicht, wie ich einen "restore" auf dem Mac iniziiere. Das ich ggf. die Daten umwandeln muss, habe ich befürchtet, aber ich will auf dem Live-System kein Update auf 8.4 machen. Kann ich die Daten auch anders aufbereiten?
Ich schaue gerne in der Doku nach, würde mich aber freuen, wenn ihr mir ein paar Stichworte geben könntet, die sich auf mein Problem beziehen, da ich nicht weiß, wonach ich schauen muss...
Danke
Auf dem Rechner mit 8.4:
pg_dump -h <rechner mit 8.2> -U ... database | psql neue_db
Die neue_db vorher erstellen. Alternativ pg_dumpall verwenden. Das Kapitel in der Doku: PostgreSQL: Documentation: Manuals: PostgreSQL 8.4: Backup and Restore
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen