1

我已将现有 Heroku 应用程序中的数据库下载到本地计算机上。我下载的数据在一个文件中;让我们称之为herokuapp.db。我还安装了 Postgres,我可以成功创建一个新的 Postgres 数据库并让我的 Rails 应用程序引用它。我想要做的是将我从 Heroku 下载的数据移动到这个数据库中,或者使用下载的数据创建一个新的 Postgres 数据库。

4

2 回答 2

2

使用pg_restore --verbose --clean --no-acl --no-owner -d [database_name] [herokuapp.db] 参见https://devcenter.heroku.com/articles/export-from-heroku-postgres了解更多信息

于 2012-11-13T21:31:08.207 回答
1

我刚刚用 Will 建议的类似技术解决了同样的问题(感谢 Will!)。

$ heroku pgbackups:capture
$ curl -o latest.dump `heroku pgbackups:url`
$ pg_restore --verbose --clean --no-acl --no-owner -d [database_name] latest.dump

database_name 可以在 database.yml 文件的开发部分中找到。

编辑
我最近用 Postgres.app 再次执行了这个任务,上面的最后一个命令不起作用。我收到此错误消息:

pg_restore: connecting to database for restore
pg_restore: [archiver (db)] connection to database "[database_name]" failed: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
pg_restore: *** aborted because of error

这是有效的更新命令:

$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U $USER -d [database_name] latest.dump
于 2013-01-01T23:01:36.920 回答