Windows 下PostgreSQL 数据库相关及 n8n .env文件的配置

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文件的配置 - 鹿快

当提示 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
© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
忹的头像 - 鹿快
评论 抢沙发

请登录后发表评论

    暂无评论内容