从 Heroku 迁移到 Supabase
将您的 Heroku Postgres 数据库迁移至 Supabase。
Supabase 是最佳的 Heroku Postgres 免费替代方案之一。本指南将展示如何将您的 Heroku Postgres 数据库迁移至 Supabase。此迁移需要使用 pg_dump 和 psql 命令行工具,这些工具在完整 Postgres 安装包中会自动安装。
或者,您可以使用 Heroku 到 Supabase 迁移工具,只需点击几下即可完成迁移。
快速演示
获取 Heroku 数据库凭证
- 登录您的 Heroku 账户 并选择要迁移的项目
- 点击菜单中的 Resources 并选择您的 Heroku Postgres 数据库
- 点击菜单中的 Settings
- 点击 View Credentials 并保存以下信息:
- 主机 (
$HEROKU_HOST
) - 数据库 (
$HEROKU_DATABASE
) - 用户 (
$HEROKU_USER
) - 密码 (
$HEROKU_PASSWORD
)
- 主机 (
获取 Supabase 连接字符串
- 如果您是 Supabase 新用户,请先创建项目
- 在项目仪表板中点击 Connect 获取会话池连接字符串
- 将连接字符串中的 [YOUR-PASSWORD] 替换为您的数据库密码。如果没有密码,可以在数据库设置页面重置密码
将 Heroku 数据库导出到文件
使用 pg_dump
命令配合您的 Heroku 凭据,将 Heroku 数据库导出到文件(例如 heroku_dump.sql
)。
123pg_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 项目。
1psql -d "$YOUR_CONNECTION_STRING" -f heroku_dump.sql
附加选项
- 若只需迁移单个数据库模式(schema),在
pg_dump
命令中添加--schema=PATTERN
参数 - 排除特定模式:
--exclude-schema=PATTERN
- 仅迁移单个表:
--table=PATTERN
- 排除特定表:
--exclude-table=PATTERN
运行 pg_dump --help
查看完整选项列表。
-
如果您计划迁移大于 6GB 的数据库,建议至少升级到大型计算附加组件。这将确保您拥有高效处理迁移所需的资源。
-
对于小于 150GB 的数据库,您可以在付费项目中,通过导航到计算和磁盘设置页面来增加磁盘大小。
-
如果您处理的数据库大于 150GB,强烈建议您联系我们的支持团队,以获取配置所需资源的帮助,并确保迁移过程顺利进行。
企业版
如需获取更多迁移帮助,请联系我们。