05 / 13
注册数据库
连接串规则、各平台注意事项、角色权限与 TLS 模式
注册流程
- 控制台“添加数据库”→ 选择平台(或“自托管/其他”)。
- 粘贴
postgres:///postgresql://连接串,或分字段填写(密码特殊字符自动编码)。 - 客户端预检会即时指出池化端点、缺失 TLS 模式、不支持的参数等问题; 保存前服务器再做一次真实连接测试。
- 连接串以主密钥加密存储;界面上不再回显,只提供脱敏预览。
平台注意事项
使用 Session pooler(端口 5432) 或直连。直连仅 IPv6(除非购买 IPv4 附加组件)。
不要用 Transaction pooler(6543):pg_dump 无法通过它运行。完整流程见备份 Supabase 数据库。
其他托管 PostgreSQL
下面这些平台提供标准 PostgreSQL,pg_dump 按理可以直接运行。我们尚未逐一实测,下表内容来自各平台自己的文档。控制台里没有它们的专用选项:注册时选“自托管/其他”,也就没有平台专属的连接预检提示,请按下表自行核对连接串。
| 平台 | 连接串 | 注意 |
|---|---|---|
| Aiven | 服务概览页的 Service URI(主机以 .aivencloud.com 结尾,默认用户 avnadmin、库 defaultdb,自带 sslmode=require) | 端口不是 5432,以 Service URI 为准 |
| Prisma Postgres | 直连(Direct TCP)连接串,形如 postgres://USER:[email protected]:5432/?sslmode=require | 基于 PostgreSQL 17;prisma+postgres:// 形式的 Accelerate 连接串不能用于 pg_dump |
| TigerData(Timescale) | 服务的连接串,加上 sslmode=require | 恢复有额外步骤,见下方说明 |
| Miget | 开启 Public Access 后给出的 External URL | 未开启时数据库只在 Miget 内部可达 |
| Render | 数据库页面的 External Database URL,加上 sslmode=require | Internal URL 只在 Render 内部可达 |
TigerData / TimescaleDB 的恢复
含 TimescaleDB 扩展的备份恢复时,必须在 pg_restore 之前执行SELECT timescaledb_pre_restore();、之后执行 SELECT timescaledb_post_restore();,并且不能使用并行恢复(-j)。恢复套件不会替你执行这两步:请先解密,再按TigerData 的逻辑备份文档手工恢复。内嵌恢复验证使用不带该扩展的 PostgreSQL,不适用于这类数据库。
CockroachDB 不是 PostgreSQL:它只支持纯文本格式的仅结构导出,不支持 SupaCove依赖的 custom 格式数据导出,因此不受支持。
TLS 模式(sslmode)
- 远端主机必须显式指定 sslmode:直接调用 API 时缺失会被拒绝;控制台会按你 在下拉框的选择自动补上(并过滤不支持的查询参数)。
- 有 CA 签名证书用
verify-full;只加密不校验用require;disable仅用于你信任的私有网络(密码与数据明文传输)。 - 本地回环地址缺省按
prefer处理(后端解析时的默认,非界面补全)。
连接失败怎么读
注册返回 422 时,界面只给出固定文案(“连接测试失败——请检查主机、端口、凭据和 TLS 模式”),不回显底层驱动错误——这是有意的凭据保护。排查请用服务器日志中 已脱敏的详情行。
最后更新