Ich habe einen (Produktion) DB-Server mit PostgreSQL v9.0 und einen Entwicklungscomputer mit PostgreSQL v8.4. Ich möchte die Produktions-DB aussortieren und auf der Entwicklungsmaschine verwenden. Ich kann die Postgres auf dem Dev-Rechner nicht upgraden.Verwenden Sie pg_restore zum Wiederherstellen von einer neueren Version von PostgreSQL
auf der Produktionsmaschine, ich laufe:
pg_dump -f nvdls.db -F p -U nvdladmin nvdlstats
Auf der Entwicklungsmaschine, ich laufe:
pg_restore -d nvdlstats -U nvdladmin nvdls.db
Und ich diesen Fehler habe:
pg_restore: [archiver] unsupported version (1.12) in file header
Dies geschieht unabhängig ob ich beim Dumping das Format custom, tar oder plain_text wähle
Ich fand one discussion online, was darauf hindeutet, dass ich eine neuere Version von pg_restore
auf der Dev-Maschine verwenden sollte. Ich habe dies versucht, indem ich einfach die 9.0-Binärdatei auf den Dev-Rechner kopiert habe, aber dies schlägt (nicht unerwartet) aufgrund von Verbindungsproblemen fehl.
Ich dachte, dass der Sinn von einem plain_text-Dump war, dass es rohes, portables SQL wäre. Scheinbar nicht.
Wie bekomme ich die 9.0 DB in meine 8.4 Installation?
Sie könnten sowohl 8.4 als auch 9.0 parallel laufen lassen (das ist, was ich tue, es funktioniert), so können Sie 8.4 für lokale Projekte behalten, die davon abhängen, aber 9.0 für diese eine Anwendung, die 9 verwendet : Auf lange Sicht wird es sich besser auszahlen als zu versuchen, einen Dump von einer anderen Version wiederherzustellen. – wildpeaks
[Exportieren und Importieren von PostgresSQL mit pgAdmin III] (http://stackoverflow.com/a/39167526/1045444) –