从 Vercel Postgres 迁移到 Supabase
将您现有的 Vercel Postgres 数据库迁移至 Supabase。
本指南将演示如何将您的Vercel Postgres数据库迁移至Supabase,从而充分发挥Postgres的优势,同时获得构建项目所需的所有功能。
获取Vercel Postgres数据库凭证
- 登录Vercel仪表板 https://vercel.com/login
- 点击Storage标签页
- 选择您的Postgres数据库
- 在Quickstart部分,选择psql然后点击Show Secret显示数据库密码
- 复制
psql
后面的字符串到剪贴板
示例:
1psql "postgres://default:xxxxxxxxxxxx@yy-yyyyy-yyyyyy-yyyyyyy.us-west-2.aws.neon.tech:5432/verceldb?sslmode=require"
复制以下部分到剪贴板:
1"postgres://default:xxxxxxxxxxxx@yy-yyyyy-yyyyyy-yyyyyyy.us-west-2.aws.neon.tech:5432/verceldb?sslmode=require"
设置OLD_DB_URL
环境变量
使用您的Vercel Postgres数据库凭证在命令行设置OLD_DB_URL环境变量。
示例:
1export OLD_DB_URL="postgres://default:xxxxxxxxxxxx@yy-yyyyy-yyyyyy-yyyyyyy.us-west-2.aws.neon.tech:5432/verceldb?sslmode=require"
获取Supabase连接字符串
-
在项目仪表板上,点击Connect
-
在Session pooler下,点击连接字符串右侧的Copy按钮复制到剪贴板
设置 NEW_DB_URL
环境变量
在命令行中使用您的 Supabase 连接字符串设置 NEW_DB_URL 环境变量。您需要将 [YOUR-PASSWORD]
替换为实际的数据库密码。
示例:
1export NEW_DB_URL="postgresql://postgres.xxxxxxxxxxxxxxxxxxxx:[YOUR-PASSWORD]@aws-0-us-west-1.pooler.supabase.com:5432/postgres"
迁移数据库
您需要安装 pg_dump 和 psql 命令行工具,这些工具包含在完整的 Postgres 安装包中。
-
将数据库导出到控制台文件
使用
pg_dump
命令配合您的 Postgres 凭据将数据库导出到文件(例如dump.sql
)。
1234567pg_dump "$OLD_DB_URL" \ --clean \ --if-exists \ --quote-all-identifiers \ --no-owner \ --no-privileges \ > dump.sql
-
将数据库导入到您的 Supabase 项目
使用
psql
命令将 Postgres 数据库文件导入到您的 Supabase 项目。1psql -d "$NEW_DB_URL" -f dump.sql
附加选项
- 若只需迁移单个数据库模式,可在
pg_dump
命令中添加--schema=PATTERN
参数 - 排除特定模式:
--exclude-schema=PATTERN
- 仅迁移单个表:
--table=PATTERN
- 排除特定表:
--exclude-table=PATTERN
运行 pg_dump --help
可查看完整选项列表。
-
如果您计划迁移大于 6GB 的数据库,建议至少升级到大型计算附加组件。这将确保您拥有高效处理迁移所需的资源。
-
对于小于 150GB 的数据库,您可以在付费项目中,通过导航到计算和磁盘设置页面来增加磁盘大小。
-
如果您处理的数据库大于 150GB,强烈建议您联系我们的支持团队,以获取配置所需资源的帮助,并确保迁移过程顺利进行。
企业版
如需获取更多迁移帮助,请联系我们。