Beim Wiederherstellen des Postgres-Dumps treten Fehler auf: Typen existieren nicht

Beim Wiederherstellen des Postgres-Dumps treten Fehler auf: Typen existieren nicht

Ich habe eine Datenbank von einem alten Ubuntu-Rechner mit PostgreSQL 8.4 und Postgis 1.5 gesichert. Auf einem neuen Ubuntu 12.04 habe ich PostgreSQL 9.1 ebenfalls mit Postgis 1.5 installiert. (postgis_template mit postgis.sql und spatial_ref_sys.sql erstellt).

Wenn ich den Dump auf der neuen Maschine wiederherstelle, werden die Daten zwar erstellt, aber ich erhalte 25 Fehlermeldungen wie diese

...    

pg_restore: [archiver (db)] Error from TOC entry 711; 1255 18533 FUNCTION gidx_in(cstring) postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  function public.gidx_in(cstring) does not exist
    Command was: DROP FUNCTION public.gidx_in(cstring);

pg_restore: [archiver (db)] Error from TOC entry 34; 1255 17743 FUNCTION geometry_send(geometry) postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  type "geometry" does not exist
    Command was: DROP FUNCTION public.geometry_send(geometry);

pg_restore: [archiver (db)] Error from TOC entry 33; 1255 17742 FUNCTION geometry_recv(internal) postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  function public.geometry_recv(internal) does not exist
    Command was: DROP FUNCTION public.geometry_recv(internal);

pg_restore: [archiver (db)] Error from TOC entry 31; 1255 17740 FUNCTION geometry_out(geometry) postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  type "geometry" does not exist
    Command was: DROP FUNCTION public.geometry_out(geometry);

pg_restore: [archiver (db)] Error from TOC entry 30; 1255 17739 FUNCTION geometry_in(cstring) postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  function public.geometry_in(cstring) does not exist
    Command was: DROP FUNCTION public.geometry_in(cstring);

pg_restore: [archiver (db)] Error from TOC entry 709; 1255 18529 FUNCTION geography_out(geography) postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  type "geography" does not exist
    Command was: DROP FUNCTION public.geography_out(geography);

Kann mir jemand erklären, was los ist? Und kann ich diese Fehler ignorieren?

Vielen Dank! Mit freundlichen Grüßen,

Toni

Antwort1

Sie haben mehrere Fehler.Dumüssen Sie sie sorgfältig lesen und dann Ihre Dump-Datei lesen (suchen Sie die Zeilen, auf die in den obigen Fehlern verwiesen wird, und stellen Sie fest, ob dort, wo diese Fehler auftreten, ein ernstes Problem vorliegt oder etwas, das Sie ignorieren können) --WIRDas können wir Ihnen nicht sagen, weil wir nicht wirklich wissen, was in Ihrem Umfeld wichtig ist.

Aus Ihren Fehlermeldungen geht hervor, dass Ihre Dump-Datei versucht, die alten Datenbankinhalte ( DROPFunktionen, Typen und Tabellen) zu bereinigen, bevor sie tatsächlich Daten lädt. Wenn Sie also auf einem System ohne die vorhandenen Daten wiederherstellen, werden Sie Fehler erhalten, wenn versucht wird, nicht vorhandene Objekte zu löschen.
Wenn das der Fall ist, müssen Sie sich wahrscheinlich keine Sorgen um die Fehler machen (obwohl Sie für die zukünftige Verwendung vielleicht einen Dump ohne die „Bereinigungs“-Befehle erstellen möchten, damit Sie sie nicht erhalten – siehe diepg_dumpmanpagefür weitere Informationen hierzu).

Wenn nun beim ERSTELLEN von Funktionen/Prozeduren Fehler auftreten, handelt es sich wahrscheinlich um schwerwiegende Fehler, die untersucht und korrigiert werden müssen.

verwandte Informationen