kisenon

连接字符串

Kisenon 端点的格式、TLS、角色与密码规则。

每个 Kisenon 端点都暴露一个标准的 postgresql:// URI:

postgresql://<role>:<pwd>@<endpoint_id>.kisenon.com:5432/<database>?sslmode=require

组成部分

字段含义
<role>在分支上创建的一个 Postgres 角色。端点卡片显示自动创建的 app 角色;您可以通过 SQL 创建更多。
<pwd>该角色的密码。在创建时显示一次;通过 SQL 轮换。
<endpoint_id>每个端点稳定不变,例如 ep_4f3c12a9b8e6。经 SNI 路由。
kisenon.com数据平面顶点域名。通过 TLS SNI 路由到您的端点。
5432标准 Postgres 端口。
<database>默认 main;用 CREATE DATABASE 创建更多。
?sslmode=requireTLS 是强制的。verify-full 也可用且推荐。

TLS

端点使用一个针对 *.kisenon.com 的 Let's Encrypt 证书来终止 TLS。 标准 Postgres 客户端对照系统信任库进行校验;无需自定义 CA。

sslmode=verify-full 推荐用于生产代码。它会检查证书链以及主机名。

代理如何路由到您的端点

数据平面代理按顺序从两个信号决定一个连接属于哪个端点:

  1. neon.endpoint_id 启动选项,如果客户端发送了它。
  2. TLS SNI 主机名<endpoint_id>.kisenon.com)作为回退。

用户名字段用于路由 —— 选择您分支定义的任意角色即可。控制台生成的 连接字符串在主机名中携带端点,因此它们会自动通过 SNI 路由, 您无需设置任何额外的东西。

只在您的客户端无法在 SNI 中出示端点时才显式传入 neon.endpoint_id —— 例如一个不会发送 Server Name 扩展的 TLS 栈,或一个会重写主机的隧道。 大多数 Postgres 驱动默认发送 SNI,因此这很少需要。

连接池

每个端点默认接受最多约 100 个并发连接。对于短期连接(无服务器函数、 边缘运行时),请使用客户端侧的连接池器,如 PgBouncer 或您驱动内置 的连接池。

一个托管的连接池器端点在路线图上;在此之前,请把您的端点当作单个 Postgres 实例对待。

多个端点

您可以在同一个分支上派生多个端点。它们共享存储,但拥有独立的连接 限制和缓存。用它们来隔离:

  • 应用流量与分析流量。
  • 只读副本(如果您不向它写入,分支上的任何端点本质上都是只读副本)。
  • 在开发分支上按环境划分的端点。