在 PostgreSQL 中,配置环境变量主要有两种场景:客户端访问数据库和服务端(PostgreSQL Server)本身。下面我帮你梳理完整步骤(Windows / Linux 都包含):
1️⃣ 主要 PostgreSQL 环境变量
环境变量 | 功能 |
---|---|
PGDATA | 数据库数据目录(data folder) |
PGPORT | PostgreSQL 监听端口(默认 5432) |
PGHOST | 默认主机(客户端连接时使用) |
PGUSER | 默认用户 |
PGPASSWORD | 默认密码(仅用于客户端工具,不安全) |
PATH | 添加 bin 目录到系统 PATH,方便使用 psql 等命令行工具 |
2️⃣ Linux / macOS 配置
方法一:临时生效(只对当前终端有效)
export PGDATA=/usr/local/pgsql/data
export PGPORT=5432
export PGUSER=postgres
export PATH=$PATH:/usr/local/pgsql/bin
- 设置后当前终端 session 有效
- 验证:
echo $PGDATA
psql -U $PGUSER -d postgres
方法二:永久生效(对当前用户生效)
- 编辑
~/.bashrc
或~/.zshrc
:
nano ~/.bashrc
- 添加:
export PGDATA=/usr/local/pgsql/data
export PGPORT=5432
export PGUSER=postgres
export PATH=$PATH:/usr/local/pgsql/bin
- 使其生效:
source ~/.bashrc
方法三:系统级环境变量(所有用户)
编辑 /etc/profile
或 /etc/environment
,添加:
export PGDATA=/usr/local/pgsql/data
export PATH=$PATH:/usr/local/pgsql/bin
然后执行:
source /etc/profile
3️⃣ Windows 配置
方法一:通过系统环境变量界面
- 右键 “此电脑” → “属性” → “高级系统设置” → “环境变量”
- 新建系统变量:
PGDATA
→ PostgreSQL 数据目录,例如C:\Program Files\PostgreSQL\15\data
PGPORT
→ 5432
- 修改
Path
系统变量,添加 PostgreSQLbin
路径:C:\Program Files\PostgreSQL\15\bin
- 打开新的 CMD 或 PowerShell,验证:
echo %PGDATA%
psql -U postgres -d postgres
方法二:临时 CMD 设置(仅当前会话)
set PGDATA=C:\Program Files\PostgreSQL\15\data
set PATH=%PATH%;C:\Program Files\PostgreSQL\15\bin
4️⃣ PostgreSQL 常用验证
# 查看 PostgreSQL 数据目录
echo $PGDATA # Linux
echo %PGDATA% # Windows
# 使用默认环境变量连接数据库
psql -U $PGUSER -d postgres
5️⃣ 小贴士
- 不要把密码放在环境变量里,不安全;客户端可以用
.pgpass
文件存储密码。 PATH
添加 PostgreSQLbin
目录后,可以直接使用psql
、pg_dump
等命令。- Linux 上如果使用 systemd 启动 PostgreSQL,可以在
postgresql.service
配置中指定环境变量:
[Service]
Environment=PGDATA=/var/lib/pgsql/15/data
- 确认环境变量生效后再启动服务,避免数据目录找不到。
发表回复