Skip to content

支持的数据库#

默认情况下,n8n 使用 SQLite 保存凭据、过去的执行和工作流。n8n 也支持 PostgresDB。

Database type by n8n installation 按 n8n 安装类型分类的数据库类型#

使用的数据库类型因您的 n8n 安装而异:

Self-hosted n8n 自托管 n8n#

默认情况下,自托管安装使用 SQLite。您可以通过设置适当的环境变量来选择性地配置 PostgreSQL(请参阅 PostgresDB 配置)。

n8n Cloud n8n 云版本#

n8n 云版本安装根据您的计划层级使用不同的数据库:

  • SQLite:试用版、Starter 和 Pro 计划,以及旧版 Enterprise 计划
  • PostgreSQL:仅限 Enterprise Scaling 计划

共享设置#

以下环境变量被所有数据库使用:

  • 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(默认: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
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

Required permissions 所需权限#

n8n 需要创建和修改其使用的表的架构。

推荐权限:

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

SQLite#

如果没有定义任何内容,这是默认使用的数据库。

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