部署托管/Configuration
支持的数据库#
默认情况下,n8n 使用 SQLite 来保存凭据、历史执行记录和工作流。n8n 还支持 PostgresDB。
共享设置#
以下环境变量被所有数据库使用:
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(默认值:未定义)— 用于验证连接的服务器 CA 证书路径(不支持机会性加密)DB_POSTGRESDB_SSL_CERT(默认值:未定义)— 客户端 TLS 证书路径DB_POSTGRESDB_SSL_KEY(默认值:未定义)— 与证书对应的客户端私钥路径DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED(默认值:true)— 是否拒绝未能通过验证的 TLS 连接
1
2
3
4
5
6
7
8
9
10
11
12
13| ``` export DB_TYPE=postgresdb export DB_POSTGRESDB_DATABASE=n8n export DB_POSTGRESDB_HOST=postgresdb export DB_POSTGRESDB_PORT=5432 export DB_POSTGRESDB_USER=n8n export DB_POSTGRESDB_PASSWORD=n8n export DB_POSTGRESDB_SCHEMA=n8n
可选:
export DB_POSTGRESDB_SSL_CA=$(pwd)/ca.crt export DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED=false
n8n
---|---
### 所需权限#
n8n 需要能够创建和修改其使用的表的 schema。
推荐权限:1 2 3
| ```
CREATE DATABASE n8n-db;
CREATE USER n8n-user WITH PASSWORD 'random-password';
GRANT ALL PRIVILEGES ON DATABASE n8n-db TO n8n-user;---|---
TLS#
你可以选择以下配置之一:
- 不声明(默认):以
SSL=off方式连接 - 仅声明 CA 和 unauthorized 标志:以
SSL=on方式连接并验证服务器签名 - 声明
_{CERT,KEY}及上述项:使用证书和密钥进行客户端 TLS 身份验证
SQLite#
如果未定义任何数据库,则默认使用此数据库。
数据库文件位于:~/.n8n/database.sqlite