从 Heroku 下载 PG 数据库文件
Download PG database as a file from Heroku
我正在尝试下载暂存数据库的文件(副本)。我在 these docs.
之后使用 pgbackups
我创建了一个备份,然后使用 heroku pgbackups:url b462 --app staging-appname
获得了 public-url
,这很有效。
比我运行命令curl -o latest.dump
heroku pg:backups <public-url> b462 -a staging-appname
得到curl:没有URL指定!
它说 <public-url>
我已经复制了实际的长 public-url,如 https://s3.amazonaws.com/reallly-long-url-with-acess-key-ect
.
我在这里错过了什么?
尝试以下操作以在 运行 heroku pgbackups:capture --app=staging-appname
之后立即获取最新文件:
curl -o latest.dump `heroku pgbackups:url --app=staging-appname`
只有在查找特定的旧文件时才需要 b..
。
以下将创建备份:
heroku pg:backups capture --app name-of-the-app
使用终端打印的如下信息
---backup---> b001
在下面的命令中
heroku pg:backups public-url b001 -a name-of-the-app
会给你url转储
我也在为 this doc 苦苦挣扎,Prakash 的建议对我没有用(错误抱怨无法解决 'heroku' 这不是 [=29= 的一部分) ], 所以语法似乎很糟糕,至少对于我正在使用的 pg 或 pgbackup gem 版本来说是这样。)
我也按照 heroku 文档中的建议尝试了 wget,但无济于事。
当我感到困惑时,我会尝试将其分解为最简单的元素,这使我找到了一个比文档提供的解决方案简单得多的解决方案...
我使用 Rafael 的回答中的命令生成一个临时 URL 来检索转储文件:
heroku pg:backups public-url b001 -a name-of-the-app
然后,我没有将生成的 URL 插入 curl 命令,我只是将 URL 粘贴到 Chrome 的地址栏并下载了文件使用我的网络浏览器。
下载成功,db文件有效。
再多说一点,这里是一个 shell 脚本示例,用于从 heroku 下载 mysql 转储并将其恢复为本地数据库
backup_name=
if [ -z "$backup_name" ]
then
echo "You must supplied heroku backup name (ex: b001)"
return
fi
echo "Loading '$backup_name' database from heroku"
heroku pg:backups public-url $backup_name -a your-app-name > last_url.txt
curl -o latest.dump `cat last_url.txt`
dropdb local-db-name
createdb local-db-name
pg_restore -c -d local-db-name latest.dump
您需要输入 heroku 备份名称。
我正在尝试下载暂存数据库的文件(副本)。我在 these docs.
之后使用pgbackups
我创建了一个备份,然后使用 heroku pgbackups:url b462 --app staging-appname
获得了 public-url
,这很有效。
比我运行命令curl -o latest.dump
heroku pg:backups <public-url> b462 -a staging-appname
得到curl:没有URL指定!
它说 <public-url>
我已经复制了实际的长 public-url,如 https://s3.amazonaws.com/reallly-long-url-with-acess-key-ect
.
我在这里错过了什么?
尝试以下操作以在 运行 heroku pgbackups:capture --app=staging-appname
之后立即获取最新文件:
curl -o latest.dump `heroku pgbackups:url --app=staging-appname`
只有在查找特定的旧文件时才需要 b..
。
以下将创建备份:
heroku pg:backups capture --app name-of-the-app
使用终端打印的如下信息
---backup---> b001
在下面的命令中
heroku pg:backups public-url b001 -a name-of-the-app
会给你url转储
我也在为 this doc 苦苦挣扎,Prakash 的建议对我没有用(错误抱怨无法解决 'heroku' 这不是 [=29= 的一部分) ], 所以语法似乎很糟糕,至少对于我正在使用的 pg 或 pgbackup gem 版本来说是这样。)
我也按照 heroku 文档中的建议尝试了 wget,但无济于事。
当我感到困惑时,我会尝试将其分解为最简单的元素,这使我找到了一个比文档提供的解决方案简单得多的解决方案...
我使用 Rafael 的回答中的命令生成一个临时 URL 来检索转储文件:
heroku pg:backups public-url b001 -a name-of-the-app
然后,我没有将生成的 URL 插入 curl 命令,我只是将 URL 粘贴到 Chrome 的地址栏并下载了文件使用我的网络浏览器。
下载成功,db文件有效。
再多说一点,这里是一个 shell 脚本示例,用于从 heroku 下载 mysql 转储并将其恢复为本地数据库
backup_name=
if [ -z "$backup_name" ]
then
echo "You must supplied heroku backup name (ex: b001)"
return
fi
echo "Loading '$backup_name' database from heroku"
heroku pg:backups public-url $backup_name -a your-app-name > last_url.txt
curl -o latest.dump `cat last_url.txt`
dropdb local-db-name
createdb local-db-name
pg_restore -c -d local-db-name latest.dump
您需要输入 heroku 备份名称。