Ruby on rails 如何在不使用Heroku工具的情况下使用pg_转储?
我想在使用公寓gem的Heroku多模式pgSQL应用程序上使用pg_dump,但恐怕我的模式太多,无法正常工作 我查看了一下,从下面的公寓宝石的创建者那里发现了以下内容 我是这里提到的公寓宝石的作者。我们一直在 在Heroku上使用它一年多了,它使用了模式 使用起来确实很好,我们仍然可以很好地使用它 一个应用程序中有100多个模式,每个模式有50多个表 @4ware提到的文章讨论了heroku的 pg:备份命令。(我敢肯定那篇文章出自我们的 支持对他们的查询) 它肯定有问题,但这不是Postgresql的缺点, 模式或具有模式的多租户,而不是heroku工具 它本身既然Postgresql在其dbs上有了ingres支持,您就不需要了 真的需要使用他们的内置工具。我们需要的时候就倒垃圾 而且它的工作速度和人们预期的一样快Ruby on rails 如何在不使用Heroku工具的情况下使用pg_转储?,ruby-on-rails,postgresql,heroku,multi-tenant,apartment-gem,Ruby On Rails,Postgresql,Heroku,Multi Tenant,Apartment Gem,我想在使用公寓gem的Heroku多模式pgSQL应用程序上使用pg_dump,但恐怕我的模式太多,无法正常工作 我查看了一下,从下面的公寓宝石的创建者那里发现了以下内容 我是这里提到的公寓宝石的作者。我们一直在 在Heroku上使用它一年多了,它使用了模式 使用起来确实很好,我们仍然可以很好地使用它 一个应用程序中有100多个模式,每个模式有50多个表 @4ware提到的文章讨论了heroku的 pg:备份命令。(我敢肯定那篇文章出自我们的 支持对他们的查询) 它肯定有问题,但这不是Postg
如何使用外部工具?有人能详细解释一下吗?我不知道那个人说的“安格尔”是什么意思——当然不是产品,安格尔。也许是“入口”,即“入境” 在任何情况下:您都可以使用任何支持libpq协议的工具直接与Heroku上的PostgreSQL数据库建立SSL连接。这包括
psql
。。。和pg_dump
简单地说:
pg_dump -Fc -f mydb.dbbackup "sslmode=require host=my.heroku.host.name port=5432 dbname=my.heroku.db.name user=my.heroku.user"
(使用您想要的任何其他选项)
看
请注意,Heroku数据库凭据可能会根据上面的文档链接进行更改。因此,如果您要自动执行此操作或定期执行此操作,则应使用Heroku帐户动态获取数据库凭据:
我发现
错误:您必须至少安装一个postgresql客户端程序包。
。使用pg(0.18.1)
,但是否需要安装其他东西?@bser,是的。这就是错误消息所说的。安装postgresql-client-9.3
或任何您的postgresql版本。考虑到这个错误,你听起来像是在Debian或Ubuntu上,所以它将使用aptitude install
@CraigRinger,pg_dump-Fc-f../backups/my_app_db.dbbackup$(heroku pg:credentials DATABASE--app my_app_name)
这行代码真的有效吗?在我的例子中,它说“pg_dump的参数太多了”@gaussblurinc-Heroku一定改变了pg:credentials
命令的输出格式。尝试将$(…)
用双引号括起来,即“$(heroku…)”
它不再是简单的一行代码,heroku更新了它们的输出和命令本身(添加:url
子命令)。您现在需要使用heroku pg:credentials:url数据库,并手动复制/粘贴它返回的字符串。当然,也可以使用一些疯狂的ruby/perl命令来为您提取输出。但不要太疯狂,因为heroku会再次改变它。
pg_dump -Fc -f mydb.dbbackup $(heroku pg:credentials DATABASE)