平台

从 Neon 迁移到 Supabase

迁移您现有的 Neon 数据库到 Supabase。


本指南演示了如何将您的 Neon 数据库迁移到 Supabase,以便充分利用 Postgres 的优势,同时获得构建项目所需的所有功能。

检索您的 Neon 数据库凭据 #

  1. 登录到您的 Neon 控制台 https://console.neon.tech/login
  2. 在左侧选择 项目
  3. 在列表中单击您的项目。
  4. 在您的项目仪表板中找到您的 连接字符串,然后单击 复制片段 以将其复制到剪贴板(不要选中“连接池”)。

示例

1
postgresql://neondb_owner:xxxxxxxxxxxxxxx-random-word-yyyyyyyy.us-west-2.aws.neon.tech/neondb?sslmode=require

设置您的 OLD_DB_URL 环境变量#

使用剪贴板中的 Neon 数据库凭据在命令行中设置 OLD_DB_URL 环境变量。

示例

1
export OLD_DB_URL="postgresql://neondb_owner:xxxxxxxxxxxxxxx-random-word-yyyyyyyy.us-west-2.aws.neon.tech/neondb?sslmode=require"

检索您的 Supabase 连接字符串 #

  1. 如果您是 Supabase 的新手,创建一个项目。记下您的密码,稍后需要用到。如果您忘记了密码,可以在此处重置

  2. 在您的项目仪表板上,点击 连接

  3. 在会话池化器下,单击您的连接字符串右侧的 复制 按钮将其复制到剪贴板。

设置您的 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. 在控制台中导出您的数据库到文件

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

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

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

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

其他选项

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

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

企业版#

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