平台

从 Vercel Postgres 迁移到 Supabase

将您现有的 Vercel Postgres 数据库迁移至 Supabase。


本指南将演示如何将您的Vercel Postgres数据库迁移至Supabase,从而充分发挥Postgres的优势,同时获得构建项目所需的所有功能。

获取Vercel Postgres数据库凭证

  1. 登录Vercel仪表板 https://vercel.com/login
  2. 点击Storage标签页
  3. 选择您的Postgres数据库
  4. Quickstart部分,选择psql然后点击Show Secret显示数据库密码
  5. 复制psql后面的字符串到剪贴板

示例:

1
psql "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环境变量。

示例:

1
export OLD_DB_URL="postgres://default:xxxxxxxxxxxx@yy-yyyyy-yyyyyy-yyyyyyy.us-west-2.aws.neon.tech:5432/verceldb?sslmode=require"

获取Supabase连接字符串

  1. 如果您是Supabase新用户,请先创建项目 请记住您的密码,后续步骤将会用到。如果忘记密码,可以在此重置

  2. 在项目仪表板上,点击Connect

  3. 在Session pooler下,点击连接字符串右侧的Copy按钮复制到剪贴板

设置 NEW_DB_URL 环境变量

在命令行中使用您的 Supabase 连接字符串设置 NEW_DB_URL 环境变量。您需要将 [YOUR-PASSWORD] 替换为实际的数据库密码。

示例:

1
export NEW_DB_URL="postgresql://postgres.xxxxxxxxxxxxxxxxxxxx:[YOUR-PASSWORD]@aws-0-us-west-1.pooler.supabase.com:5432/postgres"

迁移数据库

您需要安装 pg_dumppsql 命令行工具,这些工具包含在完整的 Postgres 安装包中。

  1. 将数据库导出到控制台文件

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

1
2
3
4
5
6
7
pg_dump "$OLD_DB_URL" \ --clean \ --if-exists \ --quote-all-identifiers \ --no-owner \ --no-privileges \ > dump.sql
  1. 将数据库导入到您的 Supabase 项目

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

    1
    psql -d "$NEW_DB_URL" -f dump.sql

附加选项

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

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

企业版

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