【发布时间】:2012-09-18 20:35:01
【问题描述】:
我想知道是否有一种简单的方法可以将一个表的内容转储或加载到 heroku 共享数据库 (postgres)。 heroku 推荐了 pgbackups 插件,但根据文档,它支持转储和加载整个数据库。
我只需要转储/加载单个表。
【问题讨论】:
标签: postgresql heroku
我想知道是否有一种简单的方法可以将一个表的内容转储或加载到 heroku 共享数据库 (postgres)。 heroku 推荐了 pgbackups 插件,但根据文档,它支持转储和加载整个数据库。
我只需要转储/加载单个表。
【问题讨论】:
标签: postgresql heroku
您可以使用 Taps (https://devcenter.heroku.com/articles/taps) 从您的 PG 数据库中提取数据。使用 Taps,您可以创建特定的表格,例如:
heroku db:pull --tables users
您还可以创建多个表,其中表名以逗号分隔,例如:
heroku db:pull --tables users,posts
编辑:正如一些 cmets 所指出的,水龙头已被弃用和替换。
新机制是通过pg:pull 和pg: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
【讨论】:
db:pull 和 db:push 很久以前就被弃用了。它们被替换为pg:pull & pg:push,但是这些命令不能导出/导入特定的表,只能导出整个数据库。