Strings de conexão
Formato, TLS, regras de role e senha para endpoints da Kisenon.
Todo endpoint da Kisenon expõe uma URI postgresql:// padrão:
postgresql://<role>:<pwd>@<endpoint_id>.kisenon.com:5432/<database>?sslmode=requireComponentes
| Campo | Significado |
|---|---|
<role> | Um role Postgres criado no branch. O card do endpoint mostra o role app auto-criado; você pode criar mais via SQL. |
<pwd> | A senha do role. Exposta uma vez na criação; rotacione via SQL. |
<endpoint_id> | Estável por endpoint, ex. ep_4f3c12a9b8e6. Roteado por SNI. |
kisenon.com | O apex do data plane. Roteia via TLS SNI para o seu endpoint. |
5432 | Porta padrão do Postgres. |
<database> | Padrão main; crie mais com CREATE DATABASE. |
?sslmode=require | TLS é obrigatório. verify-full também funciona e é recomendado. |
TLS
Endpoints terminam TLS com um certificado Let's Encrypt para
*.kisenon.com. Clientes Postgres padrão verificam contra o trust store
do sistema; nenhuma CA customizada é necessária.
sslmode=verify-full é recomendado para código de produção. Ele verifica a
cadeia de certificados e o hostname.
Como o proxy roteia para o seu endpoint
O proxy do data plane decide a qual endpoint uma conexão pertence a partir de dois sinais, em ordem:
- A startup option
neon.endpoint_id, se o cliente enviar uma. - O hostname SNI do TLS (
<endpoint_id>.kisenon.com) como fallback.
O campo de username não é consultado para roteamento — escolha qualquer role que o seu branch defina. Strings de conexão geradas pelo console carregam o endpoint no hostname, então elas roteiam via SNI automaticamente e você não precisa configurar nada extra.
Passe neon.endpoint_id explicitamente apenas quando o seu cliente não puder apresentar
o endpoint no SNI — por exemplo uma stack TLS que não envia uma extensão Server
Name, ou um túnel que reescreve o host. A maioria dos drivers Postgres
envia SNI por padrão, então isso raramente é necessário.
Pooling
Cada endpoint aceita até ~100 conexões concorrentes por padrão. Para conexões de vida curta (funções serverless, runtimes de edge), use um pooler do lado do cliente como o PgBouncer ou o pool embutido do seu driver.
Um endpoint de pooler gerenciado está no roadmap; até lá, trate o seu endpoint como uma única instância Postgres.
Múltiplos endpoints
Você pode criar múltiplos endpoints no mesmo branch. Eles compartilham storage mas têm limites de conexão e caches independentes. Use-os para isolar:
- Tráfego de app vs analytics.
- Réplicas de leitura (qualquer endpoint em um branch é essencialmente uma réplica de leitura se você não escrever nele).
- Endpoints por ambiente em branches de dev.