跳到主要内容

支持的数据库#

默认情况下,n8n 使用 SQLite 存储凭据、执行记录和工作流。n8n 同时支持 PostgresDB。

通用设置#

以下环境变量适用于所有数据库类型:

  • DB_TABLE_PREFIX(默认值:无)- 数据表名前缀

PostgresDB#

如需使用 PostgresDB 作为数据库,可配置以下环境变量:

  • DB_TYPE=postgresdb
  • DB_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 连接
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 start

必需权限#

n8n 需要创建并修改其使用的数据表结构。

推荐权限:

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 证书和未授权标志:使用 SSL=on 连接并验证服务器签名
  • 声明 _{CERT,KEY} 及上述参数:使用证书和密钥进行客户端 TLS 认证

SQLite#

若未定义任何数据库,将默认使用此数据库。

数据库文件位于: ~/.n8n/database.sqlite