Windows 下PostgreSQL 数据库相关及 n8n .env文件的配置
安装pgAdminpsql启动 PostgreSQL 服务验证服务是否运行配置 n8n 的.env文件
安装
安装 PostgreSQL 时设置的超级用户(postgres)密码,要牢记!!!
安装完毕后,在配置 PostgreSQL 以对接 n8n 时,命令行(psql)和 pgAdmin 图形界面都可以完成任务。
pgAdmin
自行查询资料,很多。
psql
在命令提示符中或SQL Shell(psql)中:
//1. 登录 PostgreSQL 命令行(psql),或者直接打开psql【win直接搜psql就出来了】
psql -U postgres # 若提示密码,输入安装时设置的超级用户密码(Windows);macOS/Linux默认无密码直接进入
//2. 创建 n8n 用户
-- 创建用户n8n_user,设置密码(替换为你自己的强密码)
CREATE USER n8n_user WITH PASSWORD 'your-strong-password';
-- 赋予用户创建数据库对象的权限(n8n需要创建表、索引等)
ALTER USER n8n_user CREATEDB;
//3. 创建 n8n 数据库并授权
-- 创建数据库n8n_db,所有者为n8n_user
CREATE DATABASE n8n_db OWNER n8n_user;
-- 切换到n8n_db数据库
c n8n_db;
-- 赋予n8n_user在该数据库的所有权限
GRANT ALL PRIVILEGES ON DATABASE n8n_db TO n8n_user;
//退出psql
q
![图片[1] - Windows 下PostgreSQL 数据库相关及 n8n .env文件的配置 - 鹿快](https://img.lukuai.com/blogimg/20251109/1562fefca0a944beb558f82b0487f8cb.png)

当提示 Server [localhost]: 时,直接按回车(使用默认的localhost,因为数据库在本地)。
提示 Database [postgres]: 时,按回车(使用默认数据库postgres)。
提示 Port [5432]: 时,按回车(默认端口 5432)。
提示 Username [postgres]: 时,按回车(默认用户名postgres)。
最后会提示 Password for user postgres:,输入你安装 PostgreSQL 时设置的密码(输入时不显示明文,输完按回车即可)。
n8n_user 密码重置 + 登录验证
//打开新的命令提示符(CMD/PowerShell),输入命令登录超级用户:
psql -U postgres
//执行命令重置 n8n_user 密码.
ALTER USER n8n_user WITH PASSWORD 'n8n123456';
//看到 ALTER ROLE 提示,说明密码重置成功,输入 q 退出 psql。
//用 n8n_user 登录 n8n_db 数据库(验证有效性)在cmd中运行,非psql 交互式界面!!最好手输入
psql -U n8n_user -d n8n_db -h localhost -p 5432
//按提示输入刚重置的密码:n8n123456(输入时不显示明文,输完按回车)。
//若看到 n8n_db=> 提示符,说明登录成功;若仍报错,重复第一步确认密码重置正确。
启动 PostgreSQL 服务
Windows 系统
打开服务管理器(按 Win + R,输入 services.msc)。
找到服务 “PostgreSQL-x64-18”(版本号可能不同),右键选择 “启动”。macOS 系统(Homebrew 安装)
brew services start postgresqlLinux 系统(以 Ubuntu 为例)
sudo systemctl start postgresql
验证服务是否运行
# 通用方法:通过 psql 测试连接
psql -U n8n_user -d n8n_db # 替换为你的用户名和数据库名
若能成功进入 psql 命令行(提示符变为 n8n_db=>),说明服务和数据库均正常。
若提示 “连接拒绝”,则需检查服务是否真的启动。
配置 n8n 的.env文件
在 n8n 源码根目录创建.env文件,配置 PostgreSQL 连接信息及其他必要变量。
# ========== 基础服务配置 ==========
PORT=5678 # n8n服务端口(可自定义,如8081)
# N8N_PROTOCOL=http # 本地开发用http,生产建议配https
# N8N_HOST=localhost # 本地开发用localhost
# ========== 数据库配置(PostgreSQL) ==========
DB_TYPE=postgresdb # 启用PostgreSQL
DB_POSTGRESDB_HOST=localhost # 本地数据库主机(默认localhost)
DB_POSTGRESDB_PORT=5432 # PostgreSQL数据库端口(默认5432)
DB_POSTGRESDB_DATABASE=n8n_db # 数据库名(默认n8n)
DB_POSTGRESDB_USER=n8n_user # 用户名(如postgres)
DB_POSTGRESDB_PASSWORD=postgres123 # 用户密码
DB_POSTGRESDB_SSL_ENABLED=false # 本地开发不启用SSL,生产建议启用
# ========== 安全配置 ==========
N8N_ENCRYPTION_KEY=xxxxxx # 32位随机字符串(用于加密工作流等数据)
# 生成方法:
# Linux/macOS终端执行
openssl rand -base64 24 | head -c32
# Windows ( PowerShell(不是CMD)):
$password = -join ((65..90) + (97..122) + (48..57) | Get-Random -Count 32 | % {[char]$_})
echo "你的随机密码: $password"
# ========== 可选:禁用遥测(隐私保护) ==========
N8N_DIAGNOSTICS_ENABLED=false














暂无评论内容