Kirstenが言うように、共有データベースプランは現在Herokuプラットフォームの外部からアクセスできません(これは「本番」Postgresサービス用に予約されているものです)。ただし、他にもいくつかのオプションがあります。
主なものの1つは、データをプルダウンしてローカルで確認することです。 Tapsrubygemを使用する これは幸運にも非常に簡単です:
$ heroku db:pull
...
Receiving schema
Receiving data
8 tables, 591 records
users: 100% |==============================================| Time: 00:00:00
pages: 100% |==============================================| Time: 00:00:00
comments: 100% |==============================================| Time: 00:00:00
tags: 100% |==============================================| Time: 00:00:00
Receiving indexes
Resetting sequences
大規模なデータセットを使用している場合にこのタスクを軽くすることができる他のいくつかのオプションがあります:
# -c, --chunksize SIZE # specify the number of rows to send in each batch
# -d, --debug # enable debugging output
# -e, --exclude TABLES # exclude the specified tables from the push
# -f, --filter REGEX # only push certain tables
# -r, --resume FILE # resume transfer described by a .dat file
# -t, --tables TABLES # only push the specified tables
これらはすべて、herokugemソースで確認できます。 。
タップは、Herokuコンテキストの外部でも使用できます。 詳細については、READMEを参照してください。 。
2番目のオプションであり、より大きなデータセットではるかに望ましいオプションは、Herokupgbackupsアドオンを使用することです。 。これにより、データベースのダンプを作成し、ファイルをローカルにダウンロードして、クリーンなDBに対してインポートできます。 Tapsの動作方法により、これはTapsよりも大幅に高速です。
使用するのは素晴らしくて簡単です:
$ heroku update
$ heroku addons:add pgbackups
Adding pgbackups to myapp... done
$ heroku pgbackups:capture
DATABASE_URL ----backup---> b003
Dump... 2.6MB, done
Upload... 2.6MB, done
$ heroku pgbackups
ID | Backup Time | Size | Database
-----+---------------------+---------+----------------------
b003 | 2010/10/22 15:16.01 | 2.6MB | SHARED_DATABASE_URL
b004 | 2010/10/22 15:18.12 | 424.7MB | HEROKU_POSTGRESQL_URL
$ heroku pgbackups:url b004
"http://s3.amazonaws.com/hkpgbackups/[email protected]/b004.dump?AWSAccessKeyId=ABCD1234&Expires=1289261668&Signature=3mMBeKISewgEUDT%2FL5mRz4EYS4M%3D"
その最後のURLをダウンロードしてインポートできます。