Heroku - 将单个表转储并加载到共享的postgres数据库

jan*_*szm 6 postgresql heroku

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

我需要的是只转储/加载单个表.

OnR*_*lve 5

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

heroku db:pull --tables users
Run Code Online (Sandbox Code Playgroud)

您可以在表名以逗号分隔的位置执行多个表,例如:

heroku db:pull --tables users,posts
Run Code Online (Sandbox Code Playgroud)

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

新机制是通过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
Run Code Online (Sandbox Code Playgroud)

或者从本地更新遥控器:

heroku pg:push mylocaldb HEROKU_POSTGRESQL_MAGENTA --app sushi
Run Code Online (Sandbox Code Playgroud)

  • `db:pull`和`db:push`很久以前就被弃用了.它们被`pg:pull`和`pg:push`取代,但这些命令不能导出/导入特定的表,只能导出整个数据库. (8认同)
  • 此答案中的链接现在重定向到一个页面,没有关于使用点击的信息. (7认同)