5

Heroku からローカル データベースに PostgreSQL ダンプをインポートしようとしています (ローカル環境で本番データを模倣するため)。OSXでローカルにpostgres 9.2を使用しています。コンソールで行った手順は次のとおりです。

dropdb db_dev

createdb db_dev

heroku pgbackups:capture HEROKU_POSTGRESQL_MAROON_URL

curl -o latest.dump `heroku pgbackups:url`

pg_restore --verbose --clean --no-acl --no-owner -h localhost -U connorwarnock -d db-dev latest.dump

そしてその後のエラー:

pg_restore: connecting to database for restore
pg_restore: dropping COMMENT EXTENSION plpgsql
pg_restore: dropping EXTENSION plpgsql
pg_restore: dropping COMMENT SCHEMA public
pg_restore: dropping SCHEMA public
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 6; 2615 2200 SCHEMA public whgnwlkesexkyo
pg_restore: [archiver (db)] could not execute query: ERROR:  cannot drop schema public because other objects depend on it
DETAIL:  extension hstore depends on schema public
HINT:  Use DROP ... CASCADE to drop the dependent objects too.
Command was: DROP SCHEMA public;

pg_restore: creating SCHEMA public
pg_restore: [archiver (db)] could not execute query: ERROR:  schema "public" already exists
Command was: CREATE SCHEMA public;



pg_restore: creating COMMENT SCHEMA public
pg_restore: creating EXTENSION plpgsql
pg_restore: creating COMMENT EXTENSION plpgsql
pg_restore: setting owner and privileges for SCHEMA public
pg_restore: setting owner and privileges for COMMENT SCHEMA public
pg_restore: setting owner and privileges for EXTENSION plpgsql
pg_restore: setting owner and privileges for COMMENT EXTENSION plpgsql
WARNING: errors ignored on restore: 2

データはインポートされません。パブリック スキーマが問題を引き起こしているようです (手動でスキーマを削除して再試行しましたが、役に立ちませんでした)。hstore 拡張機能が問題を引き起こしているのではないでしょうか? これらのエラーを回避する方法に関する他のアイデアはありますか?

4

1 に答える 1

4

拡張機能とおそらく他の変更がtemplate1含まれているようです。hstore

基本的なデフォルト データベースを含む読み取り専用テンプレートであるdb_devから削除して再作成することをお勧めします。template0

createdb -T template0 dev_db

それでも問題が解決しない場合は、更新されたエラーを投稿して、ここにコメントしてください。

于 2013-04-25T23:48:50.517 に答える