支持的数据库#
默认情况下,n8n 使用 SQLite 来保存凭据、历史执行记录和工作流。n8n 还支持 PostgresDB(仅支持仍在维护的版本)。
按 n8n 安装方式区分的数据库类型#
不同的 n8n 安装方式使用的数据库类型不同:
自托管 n8n#
默认情况下,自托管安装使用 SQLite。你也可以通过设置相应的环境变量来配置 PostgreSQL(参见 PostgresDB 配置)。
n8n Cloud#
n8n Cloud 会根据套餐使用不同的数据库:
- SQLite:Trial、Starter、Pro 以及旧版 Enterprise 计划
- PostgreSQL:仅 Enterprise Scaling 计划
共享设置#
以下环境变量适用于所有数据库:
DB_TABLE_PREFIX(默认值:-)- 表名的前缀
PostgresDB#
要使用 PostgresDB 作为数据库,可提供以下环境变量:
DB_TYPE=postgresdbDB_POSTGRESDB_DATABASE(默认值:'n8n')DB_POSTGRESDB_HOST(默认值:'localhost')DB_POSTGRESDB_PORT(默认值:5432)DB_POSTGRESDB_USER(默认值:'postgres')DB_POSTGRESDB_PASSWORD(默认值:空)DB_POSTGRESDB_SCHEMA(默认值:'public')DB_POSTGRESDB_SSL_CA(默认值:undefined):用于验证连接的服务器 CA 证书路径(不支持机会加密)DB_POSTGRESDB_SSL_CERT(默认值:undefined):客户端 TLS 证书路径DB_POSTGRESDB_SSL_KEY(默认值:undefined):与证书对应的客户端私钥路径DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED(默认值:true):是否拒绝未通过验证的 TLS 连接
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
所需权限#
n8n 需要创建并修改其使用的表结构(schema)。
推荐权限:
1 2 3 | |
TLS#
你可以在以下配置中进行选择:
- 不声明(默认):使用
SSL=off连接 - 仅声明 CA 与未授权标志:使用
SSL=on连接,并验证服务器签名 - 声明
_{CERT,KEY}并结合上述设置:使用证书和密钥进行客户端 TLS 身份验证
SQLite#
如果未做任何定义,将使用此默认数据库。
数据库文件位置:
~/.n8n/database.sqlite