数据库环境变量#
基于文件的配置
您可以在单个变量后添加 _FILE
以在单独的文件中提供其配置。有关更多详细信息,请参阅在单独文件中保存敏感数据。
默认情况下,n8n 使用 SQLite。n8n 也支持 PostgreSQL。n8n 在 v1.0 中移除了对 MySQL 和 MariaDB 的支持。
本页概述了为您的自托管 n8n 实例配置所选数据库的环境变量。
变量 | 类型 | 默认值 | 描述 |
---|---|---|---|
DB_TYPE / _FILE |
枚举字符串:sqlite 、postgresdb |
sqlite |
要使用的数据库。 |
DB_TABLE_PREFIX |
* | - | 用于表名的前缀。 |
DB_PING_INTERVAL_SECONDS |
Number | 2 |
ping 数据库以检查连接是否仍然活跃的间隔(以秒为单位)。 |
PostgreSQL#
变量 | 类型 | 默认值 | 描述 |
---|---|---|---|
DB_POSTGRESDB_DATABASE / _FILE |
String | n8n |
PostgreSQL 数据库的名称。 |
DB_POSTGRESDB_HOST / _FILE |
String | localhost |
PostgreSQL 主机。 |
DB_POSTGRESDB_PORT / _FILE |
Number | 5432 |
PostgreSQL 端口。 |
DB_POSTGRESDB_USER / _FILE |
String | postgres |
PostgreSQL 用户。 |
DB_POSTGRESDB_PASSWORD / _FILE |
String | - | PostgreSQL 密码。 |
DB_POSTGRESDB_POOL_SIZE / _FILE |
Number | 2 |
控制 n8n 应该有多少个并行打开的 Postgres 连接。增加它可能有助于资源利用,但太多连接可能会降低性能。 |
DB_POSTGRESDB_CONNECTION_TIMEOUT / _FILE |
Number | 20000 |
Postgres 连接超时(毫秒)。 |
DB_POSTGRESDB_IDLE_CONNECTION_TIMEOUT / _FILE |
Number | 30000 |
空闲连接因空闲而符合逐出条件之前的时间量。 |
DB_POSTGRESDB_SCHEMA / _FILE |
String | public |
PostgreSQL 架构。 |
DB_POSTGRESDB_SSL_ENABLED / _FILE |
Boolean | false |
是否启用 SSL。如果定义了 DB_POSTGRESDB_SSL_CA 、DB_POSTGRESDB_SSL_CERT 或 DB_POSTGRESDB_SSL_KEY ,则自动启用。 |
DB_POSTGRESDB_SSL_CA / _FILE |
String | - | PostgreSQL SSL 证书颁发机构。 |
DB_POSTGRESDB_SSL_CERT / _FILE |
String | - | PostgreSQL SSL 证书。 |
DB_POSTGRESDB_SSL_KEY / _FILE |
String | - | PostgreSQL SSL 密钥。 |
DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED / _FILE |
Boolean | true |
n8n 是否应拒绝未授权的 SSL 连接(true)或不拒绝(false)。 |
SQLite#
变量 | 类型 | 默认值 | 描述 |
---|---|---|---|
DB_SQLITE_POOL_SIZE |
Number | 0 |
控制是否在 WAL 模式或回滚日志模式中打开 SQLite 文件。当设置为零时使用回滚日志模式。当大于零时,使用 WAL 模式,该值确定要配置的并行 SQL 读取连接数。WAL 模式比回滚日志模式更高性能和可靠。 |
DB_SQLITE_VACUUM_ON_STARTUP |
Boolean | false |
在启动时运行 VACUUM 操作以重建数据库。减少文件大小并优化索引。这是一个长时间运行的阻塞操作,会增加启动时间。 |