heroku pg:不从heroku数据库提取表
我正试图使用heroku bash命令将heroku数据库拉入本地Windows计算机heroku pg:不从heroku数据库提取表,heroku,windows-7,postgresql-9.3,heroku-toolbelt,heroku-postgres,Heroku,Windows 7,Postgresql 9.3,Heroku Toolbelt,Heroku Postgres,我正试图使用heroku bash命令将heroku数据库拉入本地Windows计算机 heroku pg:pull heroku\u POSTGRESQL\u COLOR mydatabase--app appname 当我运行上述命令时,出现以下错误: “env”不被识别为内部或外部命令、可操作程序或批处理文件 但是创建了本地数据库“mydatabase”,但没有任何表 我的heroku应用程序的数据库中有一个表,但它不会被拉到我的本地数据库中 帮我解决这个问题。要在heroku中备份转储文
heroku pg:pull heroku\u POSTGRESQL\u COLOR mydatabase--app appname
当我运行上述命令时,出现以下错误:
“env”不被识别为内部或外部命令、可操作程序或批处理文件
但是创建了本地数据库“mydatabase”
,但没有任何表
我的heroku应用程序的数据库中有一个表,但它不会被拉到我的本地数据库中
帮我解决这个问题。要在heroku中备份转储文件,首先需要备份插件,安装
$heroku addons:add pgbackups
然后运行下面的命令将以最新的名称提供转储文件
$ heroku pgbackups:capture
$ curl -o latest.dump `heroku pgbackups:url`
或
编辑:(与用户聊天后,)
问题:“env”未被识别为内部或外部命令、可操作程序或批处理文件
我怀疑特定程序的路径
变量之一出错。您可以双击并在WINDOWS\system32
文件夹中检查
好的,那么如何编辑它:
pg_dump
和pg_restore
命令的包装。由于您遇到的错误,听起来我们应该继续手动操作。使用cmd.exe(您第一次报告错误的命令提示符应用程序)运行这些命令。”。首先从heroku应用程序配置变量中获取连接字符串
heroku config:get DATABASE_URL
然后,您要从连接字符串中选择用户名/主机名/数据库名部分,即:postgres://username:password@hostname:port/databasename。在以下命令中使用这些变量,并在提示输入密码时粘贴密码。这将转储heroku数据库的内容以获取本地文件
pg_dump --verbose -F c -Z 0 -U username -h hostname -p port databasename > heroku.dump
接下来,您将把此文件加载到本地数据库中。在运行此命令之前,CLI要做的一件事是检查并确保目标数据库为空,因为对包含真实数据的数据库运行此命令是您要避免的事情,因此请小心使用pg_restore。手动运行此命令时,可能会损坏您的数据库ata而不进行CLI检查,因此您可能需要先手动验证目标数据库是否为空
pg_restore --verbose --no-acl --no-owner -h localhost -p 5432 -d mydb2 < heroku.dump
pg_restore--verbose--no acl--no owner-h localhost-p 5432-d mydb2
很抱歉,这不是一个更好的体验,我希望这将帮助您取得进展。我们正在重写pg命令,以便它们在包括windows在内的所有平台上都能更好地工作,但没有明确的时间表来说明何时能完成此操作。“如何与heroku连接?从CLI使用$heroku登录,我已登录heroku。并使用$git push heroku master推送我的应用程序。使用$heroku pg:psql连接到heroku数据库,并从那里创建了一个表。我可以看到我从jackDB工具创建的表。但当我试图使用heroku pg:pull heroku_POSTGRESQL_COLOR mydatabase--app appname将表从heroku拉到本地数据库时,它的显示错误(如“env”)不会被识别为内部或外部命令、可操作程序或批处理文件。创建了一个本地数据库“mydatabase”,但没有任何表。好的,我通常使用转储文件。你有什么建议来解决这个问题吗?好的,谢谢。我会试试这个…但我也需要把我的数据库推回到heroku。但是heroku pg:push mydatabase heroku_POSTGRESQL_COLOR——appname不工作(devcenter.heroku.com/articles/heroku POSTGRESQL)。类似“env未被识别为内部或外部命令、可操作程序或批处理文件!”的相同错误即将出现。您对如何将本地数据库推送到Heroku有什么建议吗?我猜您使用的是windows?您使用的是virtualenv吗?或者那里是什么?我确实必须更改pg_hba.conf。必须添加错误给我的IP地址以及在我运行heroku config:get-database\u-URL时以字符串形式给出的用户名。换句话说,我第一次尝试时,IP地址和用户名出现错误。我在pg_hbba.conf中添加了这个作为另一个连接。
pg_restore --verbose --no-acl --no-owner -h localhost -p 5432 -d mydb2 < heroku.dump