Pular para o conteúdo principal
Em uma stack, você conecta um app a um banco de dados lendo variáveis de ambiente: a plataforma injeta a URL de conexão e grava os certificados de cliente do banco de dados na pasta /app/.vertra/certs/<database_id>/ do app. Postgres e MongoDB carregam os caminhos dos certificados dentro da URL, então a maioria dos drivers não precisa de código extra. Redis e MySQL precisam de algumas linhas que leem os caminhos dos certificados a partir de variáveis. Esta página cobre a conexão própria da stack. Para os detalhes de conexão de um banco de dados que você acessa de fora (seu computador, outro serviço), veja Como me conecto a cada engine? e o guia de conexão.

Variáveis que a plataforma injeta

Cada conexão entre um app e um banco de dados cria variáveis gerenciadas no app. Os nomes padrão:
  • Postgres: a URL já carrega sslmode, sslrootcert, sslcert e sslkey. Sempre passe a URL ao driver: as variáveis PG* sozinhas não bastam para alguns drivers, como o pg do Node.js.
  • MongoDB: a URI carrega tls=true, o arquivo da CA (ca.pem) e o arquivo do certificado de cliente (client.pem, certificado e chave juntos).
  • Redis e MySQL: a URL não carrega arquivos, então os caminhos vêm em variáveis próprias. Leia-as no código.
Os arquivos ficam em /app/.vertra/certs/<database_id>/ como ca.pem, client.crt e client.key, mais client.pem (certificado e chave num arquivo só, usado pelo MongoDB) e client.p12 (para o Prisma 6) quando a conexão precisa deles. São somente leitura e pertencentes à plataforma, e as variáveis contêm caminhos absolutos. O processo do seu app os lê normalmente. A pasta é reservada: seus deploys, restaurações e rollbacks não excluem nem trazem de volta certificados antigos, ela fica fora de downloads e snapshots, e a plataforma reescreve os arquivos a cada início. Você pode editar os nomes das variáveis antes de criar uma conexão.

Variáveis gerenciadas

Uma variável criada por uma conexão mostra managed by the stack no app e se atualiza sozinha quando o banco de dados muda de senha ou de certificado. Reinicie o app após uma mudança assim; a plataforma informa quais apps precisam disso. Se você editar uma variável gerenciada manualmente, ela deixa de ser gerenciada e vira uma variável comum, com um aviso. Quando você redefine os certificados de um banco de dados, a plataforma reescreve os arquivos nos apps conectados e pede uma reinicialização.

Mais de um banco de dados do mesmo tipo

Uma stack pode conter vários bancos de dados da mesma engine, por exemplo um Redis para cache e outro para uma fila. Cada um é um banco de dados normal com sua própria memória. O primeiro de cada engine recebe o nome padrão (REDIS_URL); os outros recebem o nome do serviço como prefixo (QUEUE_REDIS_URL, ANALYTICS_DATABASE_URL), e você pode editar os nomes antes de criar. Um banco de dados pode ser conectado a vários apps da stack (por exemplo, uma API e um worker no mesmo Postgres), mas um banco de dados pertence a uma única stack.

Código por linguagem

Os nomes abaixo são os padrão; se você renomeou uma variável, use o seu nome. O painel How to connect no dashboard (e get_connection_info com app_id no servidor MCP, ou a rota de conexão da stack) mostra o mesmo código com os nomes reais das suas variáveis, na linguagem do app.
Postgres (pg)
MongoDB (mongodb)
Redis (ioredis)
Para MySQL (mysql2), leia MYSQL_URL e passe ssl: { ca, cert, key } a partir dos arquivos MYSQL_SSL_*; o mysql2 não verifica se o nome do host corresponde ao certificado. O Prisma 7 usa o adapter pg, então a mesma DATABASE_URL funciona. Para os outros drivers, veja Como me conecto a cada engine?.
Outras linguagens recebem um painel genérico que lista os nomes das variáveis. A lista de drivers cobre as opções de cada engine.

Se a conexão falhar

  • Falha de handshake ou de autenticação: falta o certificado de cliente. Confirme que o app passa a URL (Postgres, MongoDB) ou lê as variáveis de certificado (Redis, MySQL).
  • A variável está vazia ou desatualizada: reinicie o app após uma mudança de senha ou de certificado no banco de dados.
  • Arquivos de certificado ausentes em /app/.vertra/certs/: a plataforma os reescreve a cada início. Reinicie o app; não crie a pasta você mesmo.

Relacionados

Stacks

Adicione ou remova um banco de dados em uma stack.

Bancos de dados

Engines, certificados, redefinições e limites.
Última modificação em 30 de outubro de 2026