平台

从 Heroku 迁移到 Supabase

将您的 Heroku Postgres 数据库迁移到 Supabase。


Supabase 是 Heroku Postgres 的最佳免费替代方案之一。本指南介绍了如何将您的 Heroku Postgres 数据库迁移到 Supabase。此迁移需要 pg_dumppsql CLI 工具,这些工具作为完整的 Postgres 安装包的一部分自动安装。

或者,使用 Heroku 到 Supabase 迁移工具,只需点击几下即可迁移。

快速演示#

检索您的 Heroku 数据库凭据 #

  1. 登录到您的 Heroku 帐户并选择您要迁移的项目。
  2. 在菜单中点击 资源,然后选择您的 Heroku Postgres 数据库。
  3. 在菜单中点击 设置
  4. 点击 查看凭据 并保存以下信息
    • 主机 ($HEROKU_HOST)
    • 数据库 ($HEROKU_DATABASE)
    • 用户 ($HEROKU_USER)
    • 密码 ($HEROKU_PASSWORD)

检索您的 Supabase 连接字符串 #

  1. 如果您是 Supabase 的新手,创建一个项目
  2. 通过点击项目仪表板中的 连接,获取您项目的会话池连接字符串。
  3. 将连接字符串中的 [YOUR-PASSWORD] 替换为您的数据库密码。如果您没有密码,可以在 数据库设置页面 重置数据库密码。

将您的 Heroku 数据库导出到文件 #

使用您的 Heroku 凭据和 pg_dump 将您的 Heroku 数据库导出到文件 (例如,heroku_dump.sql)。

1
pg_dump --clean --if-exists --quote-all-identifiers \
2
-h $HEROKU_HOST -U $HEROKU_USER -d $HEROKU_DATABASE \
3
--no-owner --no-privileges > heroku_dump.sql

将数据库导入到您的 Supabase 项目 #

使用 psql 将 Heroku 数据库文件导入到您的 Supabase 项目。

1
psql -d "$YOUR_CONNECTION_STRING" -f heroku_dump.sql

其他选项#

  • 要仅迁移单个数据库模式,请将 --schema=PATTERN 参数添加到您的 pg_dump 命令。
  • 要排除一个模式:--exclude-schema=PATTERN
  • 要仅迁移单个表:--table=PATTERN
  • 要排除一个表:--exclude-table=PATTERN

运行 pg_dump --help 以获取完整的选项列表。

企业版#

联系我们,如果您需要更多帮助来迁移您的项目。