Skip to content

支持的数据库

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

共享设置

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

  • (默认值:-)- 表名的前缀

Postgres数据库

要使用 PostgresDB 作为数据库,您可以提供以下环境变量:

  • DB_TYPE=postgresdb
  • (默认值:'n8n')
  • (默认值:'localhost')
  • (默认值:5432)
  • (默认值:'postgres')
  • (默认值:空)
  • (默认值:'公共')
  • (默认值:未定义):用于验证连接的服务器 CA 证书的路径(不支持机会加密)
  • (默认值:未定义):客户端 TLS 证书的路径
  • (默认值:未定义):证书对应的客户端私钥路径
  • (默认值: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

# optional:
export DB_POSTGRESDB_SSL_CA=$(pwd)/ca.crt
export DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED=false

n8n start

所需权限

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

您可以在以下配置之间进行选择:

  • 未声明(默认):连接
  • 仅声明 CA 和未授权标志:连接并验证服务器的签名
  • 声明和上述内容:使用证书和密钥进行客户端 TLS 身份验证

SQLite

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

数据库文件位于: