如何在 Windows 上卸载 pgAdmin 4
pgAdmin 4 把登记的服务器、偏好设置和保存的查询放在它自己的数据文件夹里,不在它连接的数据库里,所以卸载它不会碰任何 PostgreSQL 服务器。卸载前先用「Tools › Import/Export Servers」把服务器列表导出来,以后可以再导回去,导出文件从来不含密码,密码要另外记下。Import/Export Servers 这份指南覆盖用 PostgreSQL.pgAdmin winget 包按用户安装的 pgAdmin 4。
先退出 pgAdmin 4
关掉 pgAdmin 4 的窗口,桌面版会从程序目录里跑一个窗口进程 pgAdmin4.exe 和一个自带的 Python 后端 python.exe,卸载前在任务管理器(Ctrl+Shift+Esc)里确认 pgAdmin 4 下面这两个都没了。
用自带的卸载器移除应用
打开「设置 › 应用 › 已安装的应用」,找到 pgAdmin 4,选择卸载,或者运行:
winget uninstall --id PostgreSQL.pgAdmin
数据分别在哪里
| 位置 | 里面是什么 | 如何处理 |
|---|---|---|
%LOCALAPPDATA%\Programs\pgAdmin 4 |
程序文件,包括自带的 Python | 卸载器会删 |
%APPDATA%\pgAdmin |
存登记服务器和偏好设置的设置数据库,以及日志 pgadmin4.log(pgAdmin FAQ) |
先导出服务器,打算重装就留着,想从头开始再删 |
%APPDATA%\pgadmin4 |
桌面窗口自己的数据 | pgAdmin 卸掉之后可以删 |
检查结果
卸载完成后运行下面几条只读命令:
Get-Process pgAdmin4 -ErrorAction SilentlyContinue
winget list --id PostgreSQL.pgAdmin
Test-Path "$env:LOCALAPPDATA\Programs\pgAdmin 4"
Test-Path "$env:APPDATA\pgAdmin"
Test-Path "$env:APPDATA\pgadmin4"
Get-Process没有输出只表示未观察到匹配进程,被忽略的查询错误不能当作已经退出。winget list正常完成且没有匹配,才说明包记录已经没了,列出一行说明卸载没完成。- 第一条
Test-Path返回False,说明程序目录已经没了,返回True说明那里还有文件。 Test-Path "$env:APPDATA\pgAdmin"返回True,说明设置数据库还在,只要你没有自己删掉,这就是正常的。Test-Path "$env:APPDATA\pgadmin4"返回True,说明桌面窗口的数据还在,不打算重装就自己删掉。
用 winget 安装时
winget uninstall 运行的是「设置 › 应用」用的同一个 Inno Setup 卸载器,删的是同一批程序文件,不会主动动 %APPDATA%\pgAdmin 和 %APPDATA%\pgadmin4。
Mole 会列出什么
对按用户安装的 winget 版 pgAdmin 4:
- 程序目录跟着应用这一行走,开始菜单文件夹和一行汇总 Windows 自己记下的程序打开记录默认勾选。
%APPDATA%\pgAdmin和%APPDATA%\pgadmin4会列出,但默认不勾选,前一个存着你的服务器和偏好设置。- 数据库和 PostgreSQL 服务器从来不在这张表里。
这次检查覆盖了什么
测试于 2026 年 9 月 28 日,pgAdmin 4 9.18 通过 winget 按用户范围安装。这次是在提权环境里安装的,所以卸载器要了管理员权限,普通的按用户安装不会要。这次把列出的每一行都勾上并已移除。没有测试:登记过的服务器、保存的密码,以及导出再导入服务器的完整流程。
