> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Atualização do Banco de Dados

> Saiba mais sobre a atualização automática do seu banco de dados de desenvolvimento do Neon para o Helium e o que esperar durante o processo.

A Replit está atualizando os bancos de dados de desenvolvimento do [Neon](https://neon.tech) (um provedor de PostgreSQL serverless terceirizado) para o **Helium**, a infraestrutura PostgreSQL gerenciada pela própria Replit. Essa atualização é automática, ocorre uma vez por app e preserva todos os seus dados.

<Note>
  Esta atualização se aplica apenas aos **bancos de dados de desenvolvimento**. Os bancos de dados de produção
  usados pelos seus apps implantados não são afetados na maioria dos casos. No entanto, se o seu
  app implantado compartilha um banco de dados de desenvolvimento com outro app (comum em apps mais antigos
  copiados ou remixados), consulte [Corrigir um app publicado usando um banco de dados
  compartilhado](/references/data-and-storage/shared-database-migration)
  para etapas importantes.
</Note>

## O que está mudando

A atualização move seu banco de dados de desenvolvimento da infraestrutura do Neon para o Helium, que é executado diretamente na plataforma da Replit. Veja o que isso significa para você:

* **Menor latência**: Seu banco de dados é executado na infraestrutura da Replit junto com seu app, reduzindo os tempos de conexão
* **Mais armazenamento**: Seu limite de armazenamento aumenta de 10 GB para 20 GB
* **Mesmo mecanismo de banco de dados**: O Helium usa PostgreSQL 16, a mesma versão do Neon — suas consultas, esquemas e dados funcionam da mesma forma
* **Conexão contínua**: Sua variável de ambiente `DATABASE_URL` é atualizada automaticamente para apontar para o Helium
* **Conexão Neon salva**: Sua string de conexão Neon anterior é salva como `NEON_DATABASE_URL` nos seus Segredos para referência. O banco de dados Neon antigo não é mais usado pelo seu app após a atualização e está programado para remoção após um período de carência temporário.

Para uma comparação completa entre o banco de dados Neon legado e o novo banco de dados Replit — incluindo diferenças em faturamento, capacidades de restauração, segurança de conexão e comportamento de remixagem — consulte [Banco de Dados de Desenvolvimento Legado](/references/data-and-storage/sql-database#legacy-development-database).

## O que esperar durante a atualização

A atualização é executada automaticamente quando você abre seu Replit App no Editor de Projetos.

1. Uma tela de progresso aparece com a mensagem **"Atualizando seu banco de dados"**
2. Seus dados são copiados com segurança do Neon para o Helium. Nenhum dado é alterado ou perdido durante a transferência.
3. A duração depende do tamanho do seu banco de dados — pode levar de alguns minutos a algumas horas para bancos de dados grandes
4. Você pode manter a aba aberta ou fechá-la e voltar mais tarde
5. Quando a atualização for concluída, uma caixa de diálogo de confirmação aparece: **"Atualizamos seu banco de dados!"**

<Info>
  Se a atualização encontrar um problema, ela é automaticamente ignorada para que você possa
  continuar trabalhando. A atualização será repetida na próxima vez que você abrir seu app.
</Info>

## O que fazer após a atualização

Para a maioria dos usuários, nenhuma ação é necessária. Seu app continua funcionando como antes.

<Tip>
  Se o seu código se conecta ao banco de dados usando a variável de ambiente `DATABASE_URL`,
  nenhuma alteração é necessária. A variável é atualizada automaticamente para
  apontar para o seu novo banco de dados Helium.
</Tip>

Revise os itens a seguir se algum deles se aplicar ao seu app:

* **Strings de conexão Neon hardcoded**: Se o seu código faz referência direta a uma string de conexão `neon.tech`, atualize-o para usar a variável de ambiente `DATABASE_URL` — `process.env.DATABASE_URL` em JavaScript ou `os.environ['DATABASE_URL']` em Python. Consulte [Conectar seu app a um banco de dados SQL](/getting-started/quickstarts/database-connection) para exemplos.

* **Roles PostgreSQL personalizadas**: Se você criou roles de banco de dados personalizadas no Neon, essas roles e suas permissões são migradas automaticamente. No entanto, as senhas das roles não podem ser copiadas — você precisará redefinir as senhas de quaisquer roles personalizadas no novo banco de dados Helium.

* **Variáveis de ambiente PG individuais**: As variáveis de ambiente `PGHOST`, `PGPORT`, `PGUSER` e `PGPASSWORD` são removidas após a atualização. Use a string de conexão `DATABASE_URL`, que contém todas as informações necessárias para se conectar.

## Solução de problemas

### Erros de conexão SSL após a atualização

Após a atualização, você pode ver erros de conexão como `The server does not support SSL connections` ou o socket desconectando inesperadamente. Isso acontece quando o código de conexão do seu banco de dados força um handshake SSL. O Neon exigia SSL para todas as conexões, mas o Helium é executado localmente junto com seu app e não usa SSL.

Para corrigir isso, torne a configuração de SSL no seu código de conexão de banco de dados condicional ao ambiente. Isso garante que seu app se conecte sem SSL em desenvolvimento (Helium) e com SSL em produção (onde seu banco de dados de produção pode ainda exigir SSL).

<CodeGroup>
  ```js JavaScript theme={null}
  // Antes (quebra após a atualização)
  const pool = new Pool({
    connectionString: process.env.DATABASE_URL,
    ssl: { rejectUnauthorized: false },
  });

  // Depois (funciona em desenvolvimento e produção)
  const pool = new Pool({
    connectionString: process.env.DATABASE_URL,
    ssl:
      process.env.NODE_ENV === "production"
        ? { rejectUnauthorized: false }
        : false,
  });
  ```
</CodeGroup>

<Tip>
  Se você usa um ORM como Drizzle, Prisma ou Sequelize, consulte sua documentação
  para saber como configurar as definições de SSL de forma condicional. O mesmo princípio se aplica —
  desative o SSL para o banco de dados de desenvolvimento e ative-o para a produção.
</Tip>

## App implantado usando um banco de dados compartilhado

Apps mais antigos que foram copiados ou remixados na Replit podem compartilhar um banco de dados de desenvolvimento com o app original. No sistema Neon legado, fazer uma cópia de um app copiava o `DATABASE_URL` do app original, o que significava que ambos os apps e suas versões publicadas se conectavam ao mesmo banco de dados.

Após a atualização do banco de dados, o banco de dados Neon do app original é desativado. Se o seu app publicado ainda usar essa URL de banco de dados compartilhada, ele pode parar de funcionar ou perder acesso aos seus dados.

<Warning>
  O banco de dados compartilhado será desativado em **8 de junho de 2026**. Atualize seu app publicado
  antes dessa data para evitar perda permanente de dados.
</Warning>

### O que fazer a seguir

Se o seu app publicado for afetado, siga o guia dedicado passo a passo:

* [Corrigir um app publicado usando um banco de dados compartilhado](/references/data-and-storage/shared-database-migration)

Esse guia abrange:

* Como confirmar se o seu app publicado ainda está usando a conexão Neon antiga
* Quando usar **Publicar** ou **Republicar** com **Criar banco de dados de produção**
* Como exportar e importar dados manualmente se o seu app publicado ainda depende do banco de dados compartilhado antigo
* Considerações importantes sobre tempo de inatividade, gravações ativas e roles PostgreSQL personalizadas

## Perguntas frequentes

<Accordion title="Meus dados estão seguros durante a atualização?">
  Sim. Seus dados são copiados do Neon para o Helium — eles não são movidos ou excluídos
  durante a transferência. O banco de dados Neon original é preservado até que a atualização
  seja concluída com sucesso. Nenhum dado é alterado ou perdido.
</Accordion>

<Accordion title="Posso pular ou adiar a atualização?">
  A atualização é executada automaticamente quando você abre seu Replit App. Se encontrar
  algum problema, ela é automaticamente ignorada e você pode continuar trabalhando normalmente.
  A atualização será repetida na próxima vez que você abrir o app.
</Accordion>

<Accordion title="A atualização falhou. O que devo fazer?">
  Se a atualização falhar, ela é automaticamente ignorada para que você possa continuar usando seu
  app com o banco de dados Neon existente. O sistema repetirá a atualização na
  próxima vez que você abrir o app. Se o problema persistir em várias tentativas,
  [entre em contato com o suporte](https://replit.com/support) para obter assistência.
</Accordion>

<Accordion title="Por que minhas variáveis de ambiente mudaram?">
  Após a atualização, `DATABASE_URL` aponta para o seu novo banco de dados Helium em vez
  do Neon. Sua string de conexão Neon anterior é salva como `NEON_DATABASE_URL`
  nos Segredos do seu app. Se o seu código usa `DATABASE_URL` para se conectar, nenhuma alteração
  é necessária — a variável é atualizada automaticamente.
</Accordion>

<Accordion title="O que aconteceu com PGHOST, PGPORT, PGUSER e PGPASSWORD?">
  Essas variáveis de ambiente individuais são removidas após a atualização. O Helium
  fornece os detalhes de conexão por meio da variável de ambiente `DATABASE_URL`,
  que contém todas as informações que seu app precisa para se conectar. Atualize
  qualquer código que faça referência a essas variáveis individuais para usar `DATABASE_URL`.
</Accordion>

<Accordion title="Ainda posso acessar meu banco de dados Neon antigo?">
  Sua string de conexão Neon anterior é salva como `NEON_DATABASE_URL` nos
  Segredos do seu app para referência. Na maioria dos casos, o banco de dados Neon antigo não é mais
  usado após a atualização e está programado para remoção em **8 de junho de 2026**.

  Se o seu app implantado estava usando um banco de dados Neon compartilhado mais antigo de um app copiado ou
  remixado, esse banco de dados Neon pode ainda estar temporariamente disponível para que você possa
  exportar dados e migrar para seu próprio banco de dados de produção. Esse acesso é temporário,
  e o banco de dados compartilhado ainda será removido em **8 de junho de 2026**, portanto, atualize seu
  app publicado o quanto antes.

  Se `NEON_DATABASE_URL` não estiver disponível nos seus Segredos e você precisar de ajuda para
  recuperar a string de conexão antiga, [entre em contato com o
  suporte](https://replit.com/support).
</Accordion>

<Accordion title="Isso afeta meu app implantado ou de produção?">
  Na maioria dos casos, não — os bancos de dados de produção são gerenciados separadamente e não fazem
  parte desta atualização. No entanto, se o seu app publicado usa a URL do banco de dados de desenvolvimento
  diretamente (em vez de um banco de dados de produção separado), a atualização
  pode afetar seu app publicado. Isso é mais comum em apps mais antigos que foram copiados
  ou remixados, onde a cópia compartilhava o banco de dados do app original. Consulte [Corrigir um
  app publicado usando um banco de dados
  compartilhado](/references/data-and-storage/shared-database-migration) para
  saber como corrigir isso.
</Accordion>

## Próximos passos

* [Banco de Dados](/references/data-and-storage/sql-database): Saiba mais sobre a ferramenta Replit Database e como gerenciar seu banco de dados
* [Bancos de Dados de Produção](/references/data-and-storage/production-databases): Entenda como os bancos de dados de produção diferem dos bancos de dados de desenvolvimento
* [Conectar seu app a um banco de dados SQL](/getting-started/quickstarts/database-connection): Exemplos de código para conectar ao seu banco de dados
