【问题标题】:Heroku - dump and load single table to shared postgres databaseHeroku - 将单个表转储并加载到共享 postgres 数据库
【发布时间】:2012-09-18 20:35:01
【问题描述】:

我想知道是否有一种简单的方法可以将一个表的内容转储或加载到 heroku 共享数据库 (postgres)。 heroku 推荐了 pgbackups 插件,但根据文档,它支持转储和加载整个数据库。

我只需要转储/加载单个表。

【问题讨论】:

    标签: postgresql heroku


    【解决方案1】:

    您可以使用 Taps (https://devcenter.heroku.com/articles/taps) 从您的 PG 数据库中提取数据。使用 Taps,您可以创建特定的表格,例如:

    heroku db:pull --tables users
    

    您还可以创建多个表,其中表名以逗号分隔,例如:

    heroku db:pull --tables users,posts
    

    编辑:正如一些 cmets 所指出的,水龙头已被弃用和替换。

    新机制是通过pg:pullpg:push 可以看到他们的新文档(https://devcenter.heroku.com/articles/heroku-postgresql#pg-push-and-pg-pull)。

    不再支持单个表,您可以通过以下示例将 db 拉到本地:

    heroku pg:pull HEROKU_POSTGRESQL_MAGENTA mylocaldb --app sushi
    

    或从本地更新远程:

    heroku pg:push mylocaldb HEROKU_POSTGRESQL_MAGENTA --app sushi
    

    【讨论】:

    • 谢谢,您能否解释一下在这种情况下我可以将什么用作“PG 数据库”?它可以是从 Internet 或我的本地计算机访问的任何 PG 数据库?
    • 你有我从你的问题中假设的 pg gem。因此,如果您也在本地使用 pg(我强烈推荐),那么 taps 会将数据从您的 heroku pg db 拉到您的本地。希望这会有所帮助
    • 此答案中的链接现在重定向到没有关于使用水龙头的信息的页面。
    • db:pulldb:push 很久以前就被弃用了。它们被替换为pg:pull & pg:push,但是这些命令不能导出/导入特定的表,只能导出整个数据库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 2011-11-29
    • 1970-01-01
    • 2013-01-10
    • 2012-08-14
    • 2015-05-16
    相关资源
    最近更新 更多