0

Postgres のバックアップについて助けが必要です。Windows 7 x32 の pgAdmin III 1.16.1 からデータベース バックアップを復元しようとしています。元のデータベースは 1 つのサーバー (これも w7) にあり、もう 1 つは Ububtu サーバーにあります。利用可能なオプションのすべての組み合わせを試しました。グラフィック中間フェーズを使用する代わりに、サーバーのコマンドラインと Windows からバックアップと復元を試みました。

これらは実行されたコマンドとエラーです。その結果、データベースは復元されますが、一部のみです。

私を助けてください!

ログが長すぎるため、ログの一部のみをコピーしました....しかし、エラーの継ぎ目が「1つ」になることはありません

C:\Program Files\pgAdmin III\1.10\pg_dump.exe --host 00.00.0.000
--port 0000 --username "username" --role "role" --no-password  
--format tar --blobs --encoding UTF8 --verbose --file 
 "C:\Users\xxxxx\Documents\BackUpPostgres\backU.backup" "DATABASE"

C:\Program Files\pgAdmin III\1.10\pg_restore.exe --host 111.111.11.111 
 --port 0000 --username "username" --dbname "database"
 --role "role" --no-password  --verbose  
 "C:\Users\xxxxx\Documents\BackUpPostgres\backU.backup"

pg_restore: connecting to database for restore
pg_restore: creating COMMENT database
pg_restore: creating SCHEMA public
pg_restore: creating COMMENT SCHEMA public
pg_restore: creating PROCEDURAL LANGUAGE plpgsql
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 1774; 2612 16386 PROCEDURAL LANGUAGE plpgsql postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  language "plpgsql" already exists
    Command was: CREATE PROCEDURAL LANGUAGE plpgsql;
pg_restore: creating SHELL TYPE box2d
pg_restore: [archiver (db)] Error from TOC entry 1673; 0 0 SHELL TYPE box2d postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  type "box2d" already exists
    Command was: CREATE TYPE box2d;
pg_restore: creating FUNCTION st_box2d_in(cstring)
pg_restore: [archiver (db)] Error from TOC entry 936; 1255 18058 FUNCTION st_box2d_in(cstring) postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  could not access file "$libdir/postgis-1.4": No such file or directory
    Command was: CREATE FUNCTION st_box2d_in(cstring) RETURNS box2d
    LANGUAGE c IMMUTABLE STRICT
    AS '$libdir/postgis-1.4', 'BOX2DFLOAT...
pg_restore: [archiver (db)] could not execute query: ERROR:  function public.st_box2d_in(cstring) does not exist
    Command was: ALTER FUNCTION public.st_box2d_in(cstring) OWNER TO postgres;
4

1 に答える 1

1

スキーマなしでデータをダンプする必要があります。スイッチ (またはショートカットは)publicを使用して実行できます。--exclude-schema-N

pg_dump -U my_user -d my_database -N public -F c backup.dump
于 2013-08-31T08:19:17.623 に答える