0

ローカルホストのpostgresqlインストールで作成されたデータを事前に入力しようとしているpostgresqlデータベースを備えたHerokuアプリがあります。

https://devcenter.heroku.com/articles/heroku-postgres-import-exporthttps://devcenter.heroku.com/articles/pgbackups#restoringの両方で詳しく説明されている Heroku の指示に従っています。 -バックアップからですが、私にはやや不可解に見える問題に遭遇し続けています。

まず、次のコマンドを使用してローカル データベースのダムを作成しました。

PGPASSWORD=password pg_dump -o -Fc --no-acl --no-owner -h localhost -U dbUser db_name > db/db_name.dump

次に、指示に従ってダンプ ファイルを Cloud App の URL にアップロードし、次のコマンドでデータベースの復元を試みました。

heroku pgbackups:restore DATABASE_NAME 'http://path/to/db_name.dump' --app app_name

次の出力では、エラーが表示されます: 取得中... 完了

 !    An error occurred and your restore did not finish.
 !    Please run `heroku logs --ps pgbackups` for details.

ログを見ると、整数と「無効なパス」について不平を言っている以下の出力が表示されますが、その理由がわかりません。ダンプ ファイルへの URL が正しく、アクセス可能であること。

この問題についての洞察は大歓迎です!

2013-02-04T20:15:06+00:00 app[pgbackups]: Started:  Mon Feb 4 20:15:06 UTC 2013
2013-02-04T20:15:06+00:00 app[pgbackups]: Location: e9d564f0-a67f-4c32-bad5-60798786b87b:/tmp/VFJ5WDiAHr
2013-02-04T20:15:07+00:00 app[pgbackups]: psql: bin//psql-9.2.1-64bit
2013-02-04T20:15:07+00:00 app[pgbackups]: pv: bin//pv-1.1.4-64bit
2013-02-04T20:15:07+00:00 app[pgbackups]:       SELECT count(*) = 0 as is_empty
2013-02-04T20:15:07+00:00 app[pgbackups]:       FROM pg_class INNER JOIN pg_roles ON relowner = pg_roles.oid
2013-02-04T20:15:07+00:00 app[pgbackups]:       WHERE rolname <> '\''postgres'\'''
2013-02-04T20:15:07+00:00 app[pgbackups]: bin/brie: line 145: [: 9.1: integer expression expected
2013-02-04T20:15:07+00:00 app[pgbackups]: pg_restore: bin//pg_restore-9.1.6-64bit
2013-02-04T20:15:07+00:00 app[pgbackups]:  Schema |             Name              | Type  |       Info        
2013-02-04T20:15:07+00:00 app[pgbackups]: --------+-------------------------------+-------+-------------------
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | abilities                     | table | 554
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | abilities                     | table | abilities_pkey
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | champions                     | table | 110
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | champions                     | table | champions_pkey
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | effects                       | table | 934
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | effects                       | table | effects_pkey
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | items                         | table | 191
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | items                         | table | items_pkey
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | masteries                     | table | 56
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | masteries                     | table | masteries_pkey
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | runes                         | table | 305
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | runes                         | table | runes_pkey
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | schema_migrations             | table | 26
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | schema_migrations             | table | 
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | spells                        | table | 15
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | spells                        | table | spells_pkey
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | abilities_pkey                | index | abilities
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | champions_pkey                | index | champions
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | effects_pkey                  | index | effects
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | index_champions_on_updated_at | index | champions
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | index_items_on_item_id        | index | items
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | index_items_on_updated_at     | index | items
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | index_masteries_on_updated_at | index | masteries
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | index_runes_on_updated_at     | index | runes
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | index_spells_on_updated_at    | index | spells
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | items_pkey                    | index | items
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | masteries_pkey                | index | masteries
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | runes_pkey                    | index | runes
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | spells_pkey                   | index | spells
2013-02-04T20:15:07+00:00 app[pgbackups]:  public | unique_schema_migrations      | index | schema_migrations
2013-02-04T20:15:07+00:00 app[pgbackups]: (30 rows)
2013-02-04T20:15:07+00:00 app[pgbackups]: 
2013-02-04T20:15:07+00:00 app[pgbackups]: download_progress: start
2013-02-04T20:15:07+00:00 app[pgbackups]: download_progress:    0B 
2013-02-04T20:15:07+00:00 app[pgbackups]: 
2013-02-04T20:15:07+00:00 app[pgbackups]: download_progress: 0.0bytes
2013-02-04T20:15:07+00:00 app[pgbackups]: download_progress: done
2013-02-04T20:15:07+00:00 app[pgbackups]: Invalid path
4

1 に答える 1

3

デフォルトのcloudappURLは30xリダイレクトですが、残念ながら、この回答の時点では、pgbackpusはリダイレクトに従いません。いつかそれを修正する必要がありますが、それまでの間、curl -IcloudappのURLでを実行し、実際のURLを見つけて、それを使用してください。

下部のログに「無効なパス」があるというヒント。

また、その価値については、すでにローカルにバックアップがあり、それほど大きくない場合はpg_restore、リモートpgデータベース上のマシンから使用できます。

于 2013-02-04T20:34:22.227 に答える