跳至内容

支持的数据库#

默认情况下,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 (默认值: 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

# 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#

您可以选择以下配置:

  • 不声明(默认):使用 SSL=off 连接
  • 仅声明CA和未授权标志:使用SSL=on连接并验证服务器签名
  • 声明 _{CERT,KEY} 和上述内容:使用证书和密钥进行客户端TLS认证

SQLite#

如果未定义任何内容,将使用此默认数据库。

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

优云智算