Назад | Перейти на главную страницу

Восстановление postgres Dump выдает ошибки: типов не существует

Я сбросил базу данных со старой машины Ubuntu с помощью postgresql 8.4 и postgis 1.5. На новом ubuntu 12.04 я установил Postgresql 9.1 также с postgis 1.5. (создал postgis_template с помощью postgis.sql и Space_ref_sys.sql).

Когда я восстанавливаю дамп на новом компьютере, данные собираются, но я получаю 25 таких сообщений об ошибках.

...    

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);

Кто-нибудь может объяснить, что происходит? И могу ли я игнорировать эти ошибки?

Спасибо! С наилучшими пожеланиями,

Тони

У вас несколько ошибок. Вы необходимо внимательно прочитать их, а затем прочитать файл дампа (найдите строки, упомянутые в приведенных выше ошибках, и определите, является ли место возникновения этих ошибок серьезной проблемой или чем-то, что вы можете игнорировать) - МЫ не могу сказать вам этого, потому что мы действительно не знаем, что важно в вашей среде.

Из того, что я вижу в ваших сообщениях об ошибках, похоже, что ваш файл дампа пытается очистить старое содержимое базы данных (DROP функции, типы и таблицы) до того, как он фактически загрузит данные, поэтому, если вы восстанавливаете систему без существующих данных, вы получите ошибки, когда он попытается удалить несуществующие объекты.
Если это то, что происходит, вам, вероятно, не нужно беспокоиться об ошибках (хотя вы можете сделать дамп без команд "очистки" для будущего использования, чтобы вы их не получили - см. pg_dump страница руководства для получения информации о том, как это сделать).

Теперь, если вы начнете получать ошибки при СОЗДАНИИ функций / процедур, они, скорее всего, будут серьезными и потребуют исследования и исправления.