Variáveis de ambiente: Banco de dados
42 variáveis das versões 1.123.92, 2.45.7 e 3.0.1
Conexão com PostgreSQL, SQLite e o MySQL da 1.x, com pool, timeouts, verificação da conexão e logs de consulta. A lista sai do código de cada versão e das páginas de variáveis da documentação oficial, conferidos em 3 de novembro de 2026. Toda variável aceita o sufixo _FILE para ler o valor de um arquivo, útil para senhas e chaves em secrets do Docker.
Tempo máximo em milissegundos que uma consulta espera a recuperação da conexão com o banco antes de falhar. Numa queda curta, a consulta segue normalmente depois da recuperação. Numa queda longa, o limite evita acumular consultas paradas até o banco voltar.
Liga o log das consultas ao banco.
Registra só as consultas que levam mais que este tempo, em milissegundos. Com
0, o log de consultas lentas fica desligado.Nível de detalhe do log do banco. Só vale quando
DB_LOGGING_MAX_EXECUTION_TIMEé maior que zero.Nome do banco MySQL. O suporte a MySQL e MariaDB terminou na 2.x, que aceita só SQLite e Postgres.
Host do servidor MySQL. Só existe na 1.x.
Senha do usuário do MySQL. Só existe na 1.x.
Quantidade de conexões no pool do MySQL. Só existe na 1.x.
Porta do servidor MySQL. Só existe na 1.x.
Usuário do MySQL. Só existe na 1.x.
Intervalo em segundos entre os testes de conexão com o banco.
Quantidade de testes de conexão seguidos que precisam falhar para o n8n considerar a conexão perdida e recriar o pool. Só vale para Postgres.
Tempo limite em milissegundos de cada teste de conexão com o banco. Na 2.x, o padrão vem de
N8N_DB_PING_TIMEOUTquando ela está definida. Na 3.x, o padrão é fixo em 5000.Tempo limite em milissegundos para abrir uma nova conexão com o Postgres.
Nome do banco no Postgres.
Tempo limite em milissegundos para desmontar o pool do Postgres durante a recuperação. Passado o prazo, o n8n fecha as conexões à força para conseguir reconectar. Com
0, a espera não tem fim.Host do servidor Postgres.
Tempo em milissegundos para fechar uma conexão ociosa do pool.
Liga o keepalive TCP nas conexões com o Postgres, para detectar conexões mortas sem esperar uma consulta.
Espera em milissegundos antes do primeiro teste de keepalive TCP.
Tempo máximo de vida em milissegundos de uma conexão do pool antes de ser trocada. Com
0, a troca fica desligada.Senha do usuário do Postgres. Prefira
DB_POSTGRESDB_PASSWORD_FILEcom um secret do Docker.Quantidade máxima de conexões no pool do Postgres.
Porta do servidor Postgres.
Schema do Postgres usado pelo n8n.
Caminho ou conteúdo do certificado da autoridade certificadora para a conexão SSL com o Postgres.
Caminho ou conteúdo do certificado do cliente para a conexão SSL com o Postgres.
Usa SSL/TLS na conexão com o Postgres. O n8n liga a opção sozinho quando qualquer variável de certificado ou chave SSL está definida.
Caminho ou conteúdo da chave privada do cliente para a conexão SSL com o Postgres.
Recusa a conexão quando o certificado do servidor Postgres não pode ser verificado. Desligue só em testes com certificado autoassinado.
Tempo máximo em milissegundos de cada consulta. Consultas mais longas são canceladas. Com
0, o limite fica desligado.Usuário do Postgres.
Espera máxima em milissegundos entre as tentativas de recuperar a conexão com o banco. Precisa ser maior ou igual a
DB_RECOVERY_BACKOFF_MIN_MS.Espera inicial em milissegundos depois da primeira tentativa de recuperação que falha. As esperas seguintes dobram até o limite de
DB_RECOVERY_BACKOFF_MAX_MS.Nome do arquivo do banco SQLite, dentro da pasta
.n8n.Ligava o modo WAL do SQLite na 1.x. A partir da 2.x, o n8n usa o pool de conexões do SQLite.
Quantidade de conexões de leitura no pool do SQLite. O padrão passou de 0 na 1.x para 3 na 2.x.
Na 1.x, o n8n avisa que rodar o SQLite sem pool de leitura está defasado e pede um valor maior que zero.
Roda o
VACUUMdo SQLite na inicialização para liberar espaço e reorganizar o arquivo. A operação trava a instância enquanto roda e pode atrasar bastante a inicialização.Quantidade de novas tentativas da primeira conexão com o banco na inicialização antes de o n8n desistir e encerrar. Cada tentativa espera conforme
DB_RECOVERY_BACKOFF_MIN_MSeDB_RECOVERY_BACKOFF_MAX_MS.Prefixo acrescentado ao nome de todas as tabelas do n8n, útil quando o banco é compartilhado com outra aplicação.
Tipo de banco:
sqliteoupostgresdb. Na 1.x também aceitavamysqldbemariadb.Na 1.x, o n8n avisa que MySQL e MariaDB estão defasados e pede a migração para Postgres.
Tempo limite do teste de conexão com o banco na 2.x. Foi substituída por
DB_PING_TIMEOUT_MSe removida na 3.x.Na 2.x, o n8n pede para usar
DB_PING_TIMEOUT_MS. Na 3.x, a variável deixa de ser lida.