4

我想使用公寓 gem 在 Heroku 多模式 pgSQL 应用程序上使用 pg_dump,但恐怕我有太多模式无法使其工作。

我查看了它,并在以下链接中从公寓宝石的创建者那里找到了以下内容

我是此处引用的 Apartment gem 的作者。我们在 Heroku 上使用它已经一年多了,它使用了模式。

使用它绝对没问题,我们仍然可以在一个应用程序中获得超过 100 个模式的出色性能,每个模式有 50 多个表。

@4ware 提到的文章谈到了 heroku 的 pg:backups 命令的问题。(我很确定那篇文章来自我们对他们的支持查询)

它肯定有问题,但这不是 Postgresql、模式或多租户模式的缺点,而是 heroku 工具本身的缺点。现在 Postgresql 在他们的数据库上支持 ingres,你真的不需要使用他们的内置工具。我们只在需要时进行 pg_dump,它的工作速度与预期的一样快。

如何使用外部工具?有人可以详细说明一下吗?

4

1 回答 1

5

我不知道那个人所说的“ingres”是什么意思——当然不是产品,Ingres。也许“入口”,即“入站”?

在任何情况下:您可以使用任何支持 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 数据库凭据可能会更改。因此,如果您要自动执行此操作或定期执行此操作,则应使用您的 Heroku 帐户根据 Heroku 手册动态获取数据库凭据:

pg_dump -Fc -f mydb.dbbackup $(heroku pg:credentials DATABASE)
于 2014-08-25T02:18:51.627 回答