数据库环境变量#
基于文件的配置
您可以在个别变量后添加 _FILE 后缀,通过独立文件提供配置。详情请参阅在独立文件中保存敏感数据。
n8n 默认使用 SQLite 数据库,同时支持 PostgreSQL。n8n 在 v1.0 版本中已弃用对 MySQL 和 MariaDB 的支持。
本文档说明为自托管 n8n 实例配置数据库所需的环境变量。
| 变量名 | 类型 | 默认值 | 描述 |
|---|---|---|---|
DB_TYPE /_FILE | 枚举字符串: sqlite, postgresdb | sqlite | 使用的数据库类型 |
DB_TABLE_PREFIX | * | - | 数据表名前缀 |
DB_PING_INTERVAL_SECONDS | 数值 | 2 | 数据库连接存活检查的 ping 间隔(单位:秒) |
PostgreSQL#
| 变量名 | 类型 | 默认值 | 描述 |
|---|---|---|---|
DB_POSTGRESDB_DATABASE /_FILE | 字符串 | n8n | PostgreSQL 数据库名称 |
DB_POSTGRESDB_HOST /_FILE | 字符串 | localhost | PostgreSQL 主机地址 |
DB_POSTGRESDB_PORT /_FILE | 数值 | 5432 | PostgreSQL 端口号 |
DB_POSTGRESDB_USER /_FILE | 字符串 | postgres | PostgreSQL 用户名 |
DB_POSTGRESDB_PASSWORD /_FILE | 字符串 | - | PostgreSQL 密码 |
DB_POSTGRESDB_POOL_SIZE /_FILE | 数值 | 2 | 控制 n8n 可并行打开的 Postgres 连接数。增加该值可能提升资源利用率,但连接数过多可能导致性能下降 |
DB_POSTGRESDB_CONNECTION_TIMEOUT /_FILE | 数值 | 20000 | Postgres 连接超时时间(毫秒) |
DB_POSTGRESDB_IDLE_CONNECTION_TIMEOUT /_FILE | 数值 | 30000 | 空闲连接被回收前的存活时间 |
DB_POSTGRESDB_SCHEMA /_FILE | 字符串 | public | PostgreSQL 模式名 |
DB_POSTGRESDB_SSL_ENABLED /_FILE | 布尔值 | false | 是否启用 SSL。若定义了 DB_POSTGRESDB_SSL_CA、DB_POSTGRESDB_SSL_CERT 或 DB_POSTGRESDB_SSL_KEY 将自动启用 |
DB_POSTGRESDB_SSL_CA /_FILE | 字符串 | - | PostgreSQL SSL 证书颁发机构 |
DB_POSTGRESDB_SSL_CERT /_FILE | 字符串 | - | PostgreSQL SSL 证书 |
DB_POSTGRESDB_SSL_KEY /_FILE | 字符串 | - | PostgreSQL SSL 密钥 |
DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED /_FILE | 布尔值 | true | 是否拒绝未授权的 SSL 连接:true(拒绝)/false(不拒绝) |
SQLite#
| 变量名 | 类型 | 默认值 | 描述 |
|---|---|---|---|
DB_SQLITE_POOL_SIZE | 数值 | 0 | 控制以 WAL 模式 或 回滚日志模式 打开 SQLite 文件。设为 0 时使用回滚日志模式,大于 0 时使用 WAL 模式(该值决定并行 SQL 读取连接数)。WAL 模式比回滚日志模式具有更好的性能和可靠性 |
DB_SQLITE_VACUUM_ON_STARTUP | 布尔值 | false | 在启动时执行 VACUUM 操作重建数据库。可减小文件大小并优化索引。这是长时间运行的阻塞操作,会增加启动时间 |