平台

从 Heroku 迁移到 Supabase

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


Supabase 是最佳的 Heroku Postgres 免费替代方案之一。本指南将展示如何将您的 Heroku Postgres 数据库迁移至 Supabase。此迁移需要使用 pg_dumppsql 命令行工具,这些工具在完整 Postgres 安装包中会自动安装。

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

快速演示

获取 Heroku 数据库凭证

  1. 登录您的 Heroku 账户 并选择要迁移的项目
  2. 点击菜单中的 Resources 并选择您的 Heroku Postgres 数据库
  3. 点击菜单中的 Settings
  4. 点击 View Credentials 并保存以下信息:
    • 主机 ($HEROKU_HOST)
    • 数据库 ($HEROKU_DATABASE)
    • 用户 ($HEROKU_USER)
    • 密码 ($HEROKU_PASSWORD)

获取 Supabase 连接字符串

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

将 Heroku 数据库导出到文件

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

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

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

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

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

附加选项

  • 若只需迁移单个数据库模式(schema),在 pg_dump 命令中添加 --schema=PATTERN 参数
  • 排除特定模式:--exclude-schema=PATTERN
  • 仅迁移单个表:--table=PATTERN
  • 排除特定表:--exclude-table=PATTERN

运行 pg_dump --help 查看完整选项列表。

企业版

如需获取更多迁移帮助,请联系我们