You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Server下PostgreSQL 14的pg_wal目录迁移问题

Windows Server下PostgreSQL 14 pg_wal目录迁移正确方案

错误原因分析

你之前的符号链接命令方向搞反了:mklink /D的语法是mklink /D [要创建的链接路径] [实际存储的目标文件夹路径],你把新目录(D:\pg_wal)作为链接,原目录(G:\Postgres-14\data\pg_wal)作为目标,相当于在D盘建了指向原G盘目录的快捷方式,PostgreSQL自然还是往原G盘目录写入日志。

正确迁移步骤

1. 停止PostgreSQL服务

必须先停止服务,避免pg_wal目录被占用:

net stop postgresql-x64-14

注:服务名称可能为postgresql-14,可在服务管理器中确认实际名称

2. 迁移原有日志文件并清理原目录

  • 将G:\Postgres-14\data\pg_wal下的所有文件移动到D:\pg_wal(如果D盘没有这个目录,先创建)
  • 删除原G盘的pg_wal目录:
rmdir "G:\Postgres-14\data\pg_wal"

3. 创建正确的符号链接

让PostgreSQL访问原路径时自动指向D盘的新目录,命令如下:

mklink /D "G:\Postgres-14\data\pg_wal" "D:\pg_wal"

4. 验证并启动服务

  • 查看G:\Postgres-14\data下的pg_wal,应显示为指向D:\pg_wal的符号链接
  • 启动PostgreSQL服务:
net start postgresql-x64-14

额外排查点

  • 操作时确保使用管理员权限打开命令提示符,否则mklink命令会执行失败
  • 如果迁移后仍有问题,检查PostgreSQL日志(G:\Postgres-14\data\pg_log),看是否有目录访问权限或链接无效的报错
  • 确认D盘有足够的存储空间,避免因空间不足导致日志写入失败

内容的提问来源于stack exchange,提问作者Kenny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 06:23:20