在 PostgreSQL 中,配置环境变量主要有两种场景:客户端访问数据库服务端(PostgreSQL Server)本身。下面我帮你梳理完整步骤(Windows / Linux 都包含):


1️⃣ 主要 PostgreSQL 环境变量

环境变量功能
PGDATA数据库数据目录(data folder)
PGPORTPostgreSQL 监听端口(默认 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

方法二:永久生效(对当前用户生效)

  1. 编辑 ~/.bashrc~/.zshrc
nano ~/.bashrc

  1. 添加:
export PGDATA=/usr/local/pgsql/data
export PGPORT=5432
export PGUSER=postgres
export PATH=$PATH:/usr/local/pgsql/bin

  1. 使其生效:
source ~/.bashrc

方法三:系统级环境变量(所有用户)

编辑 /etc/profile/etc/environment,添加:

export PGDATA=/usr/local/pgsql/data
export PATH=$PATH:/usr/local/pgsql/bin

然后执行:

source /etc/profile


3️⃣ Windows 配置

方法一:通过系统环境变量界面

  1. 右键 “此电脑” → “属性” → “高级系统设置” → “环境变量”
  2. 新建系统变量:
    • PGDATA → PostgreSQL 数据目录,例如 C:\Program Files\PostgreSQL\15\data
    • PGPORT → 5432
  3. 修改 Path 系统变量,添加 PostgreSQL bin 路径: C:\Program Files\PostgreSQL\15\bin
  4. 打开新的 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️⃣ 小贴士

  1. 不要把密码放在环境变量里,不安全;客户端可以用 .pgpass 文件存储密码。
  2. PATH 添加 PostgreSQL bin 目录后,可以直接使用 psqlpg_dump 等命令。
  3. Linux 上如果使用 systemd 启动 PostgreSQL,可以在 postgresql.service 配置中指定环境变量:
[Service]
Environment=PGDATA=/var/lib/pgsql/15/data

  1. 确认环境变量生效后再启动服务,避免数据目录找不到。