对比
Relyt One 与 Neon,逐项事实对照
两者都是支持数据库分支的 Serverless PostgreSQL 服务。本页列出双方各自公开的功能与 Free 套餐信息,每行都附出处,后面是一份手动迁移指南。
截至 2026-11-05。下表每一条事实都在当天对照该行所链接的官方页面核对过。
逐项事实对照
| 项目 | Relyt One | Neon | 出处 |
|---|---|---|---|
| PostgreSQL 版本 | 标准 PostgreSQL 17。 | Postgres 14、15、16、17 和 18(最新的五个大版本)。 | |
| 数据库分支 | 支持。分支是父分支的写时复制(copy-on-write)副本,带完整数据,几秒内就绪。 | 支持。分支是数据的写时复制(copy-on-write)克隆,可以从当前状态或过去的某个状态创建。 | |
| 空闲的计算实例 | 空闲的计算实例可以挂起,下次连接时恢复。 | Scale to zero 会在计算实例空闲 5 分钟后将其挂起,下次查询时重新激活。Free 套餐上不可更改;付费套餐可以关闭。 | |
| 计算实例规格单位 | 以 CU 计:1 CU = 1 vCPU + 4 GB RAM。 | 以 CU 计:每个 CU 约分配 4 GB RAM,以及相应的 CPU 和本地 SSD。 | |
| Free 套餐价格 | 每月 $0。无需信用卡。 | 每月 $0。无需信用卡;Free 套餐长期有效,不是试用。 | |
| Free 套餐的项目数 | 1 个组织内最多 5 个项目。 | 100 个项目。 | |
| Free 套餐的存储 | 共 2.5 GB,每个项目含 0.5 GB。 | 每个项目 1 GB,所有项目合计最多 20 GB。 | |
| Free 套餐的计算实例时长 | 不限量的共享计算实例时长(早鸟优惠)。 | 每个项目每月 100 CU 小时,自动扩缩容最高 2 CU(8 GB RAM)。 | |
| 面向应用用户的托管认证 | 支持,可选,目前为预览版。令牌是短时有效、EdDSA 签名的 JWT,通过 JWKS 发布公钥。 | 支持。托管的 Better Auth 把用户与会话存放在你自己的 Postgres 数据库里,认证状态随数据一起分支。 | |
| 向量检索扩展 | vectors 扩展(pgvecto.rs),每个数据库都已预装。 | pgvector 扩展。 | |
| 其他扩展 | 提供 pg_trgm、citext、pgcrypto 等扩展。 | pg_trgm、citext、pgcrypto 都在其支持的扩展列表里。 | |
| 管理 API | 带 API 密钥的 REST Open API,覆盖组织、项目、分支与计算实例。 | Neon REST API,使用 API 密钥认证。Neon 另有 CLI 与 MCP 服务器的文档。 |
本表只复述双方各自在官网上公开的信息,不是排名,也不是性能测试。套餐与功能会变化,一切以每行所链接的官方页面为准。
手动把 Postgres 数据库迁到 Relyt One
用标准的 PostgreSQL 客户端工具手动导出、恢复。适用于 PostgreSQL 17 及更早版本的源库,比如本地服务器,或运行这些版本的 Neon 数据库。先把第一步里的占位符换成你自己的连接字符串,再按顺序执行每一段命令。
这些命令已在两个 PostgreSQL 17 服务器之间、用 PostgreSQL 17 客户端工具按原样回放过。
01
设置两个连接字符串
在 Relyt One 里创建一个项目并复制它的连接字符串,与源数据库的连接字符串一起导出为环境变量。Relyt One 运行的是 PostgreSQL 17;pg_dump 的版本不能低于源服务器,所以先查一下版本。如果源是 Neon,请用它的直连(非连接池)连接字符串:Neon 文档建议不要通过连接池运行 pg_dump。源库版本高于 PostgreSQL 17(例如 Neon 上的 Postgres 18)时,恢复到 Relyt One 的 PostgreSQL 17 不受支持。
export SOURCE_DATABASE_URL="postgresql://<user>:<password>@<source-host>/<dbname>" export TARGET_DATABASE_URL="postgresql://<user>:<password>@<relyt-one-host>/<dbname>" pg_dump --version02
核对扩展
先列出源数据库用到的扩展,再列出 Relyt One 数据库里可用的扩展。源库依赖的扩展如果不在第二份列表里,依赖它的对象会恢复失败,请先调整表结构。
psql "$SOURCE_DATABASE_URL" -c "SELECT extname, extversion FROM pg_extension ORDER BY 1;" psql "$TARGET_DATABASE_URL" -c "SELECT name, default_version FROM pg_available_extensions ORDER BY 1;"03
导出源数据库
把源数据库导出成 custom 格式(-Fc)的归档文件,保存在本地。-v 会逐个打印导出的对象。
pg_dump -Fc -v -d "$SOURCE_DATABASE_URL" -f source.dump04
恢复到 Relyt One
把归档恢复到 Relyt One 数据库。--no-owner 与 --no-acl 会跳过源库的属主与权限语句(这些角色在目标库里通常不存在),恢复出的对象归你连接时使用的角色所有。
pg_restore -v --no-owner --no-acl -d "$TARGET_DATABASE_URL" source.dump05
核对行数
在两边统计每张表的行数并对比两份输出。一致之后,把应用改连 Relyt One 的连接字符串。
for url in "$SOURCE_DATABASE_URL" "$TARGET_DATABASE_URL"; do psql "$url" -c "SELECT table_schema, table_name, (xpath('/row/c/text()', query_to_xml(format('SELECT count(*) AS c FROM %I.%I', table_schema, table_name), false, true, '')))[1]::text::bigint AS row_count FROM information_schema.tables WHERE table_type = 'BASE TABLE' AND table_schema NOT IN ('pg_catalog', 'information_schema') ORDER BY 1, 2;" done