kisenon

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=require

Componentes

CampoSignificado
<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.comO apex do data plane. Roteia via TLS SNI para o seu endpoint.
5432Porta padrão do Postgres.
<database>Padrão main; crie mais com CREATE DATABASE.
?sslmode=requireTLS é 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:

  1. A startup option neon.endpoint_id, se o cliente enviar uma.
  2. 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.