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

通过Homebrew重装PostgreSQL后旧角色残留问题求助

PostgreSQL卸载重装后旧角色残留的解决办法

你遗漏了PostgreSQL核心数据集群目录的清理——角色、数据库等元数据都存储在这个目录的系统表中,之前删除的只是特定版本(@14)的目录,但当前安装的PostgreSQL可能指向了其他未被删除的数据目录,导致旧角色信息保留。

解决步骤:

  1. 停止PostgreSQL服务
    brew services stop postgresql
    
  2. 定位当前PostgreSQL使用的数据目录
    登录数据库后执行命令查询:
    psql -h localhost -U postgres -c 'SHOW data_directory;'
    
    如果无法登录,也可以通过brew查看默认路径:
    brew info postgresql | grep "Data directory"
    
  3. 彻底删除数据目录(替换为你查到的实际路径)
    sudo rm -rf /opt/homebrew/var/postgresql
    
    (如果查到的是带版本号的路径,比如/opt/homebrew/var/postgresql@17,就替换成对应路径)
  4. 重新初始化数据库集群
    initdb --locale=C -E UTF-8 /opt/homebrew/var/postgresql
    
  5. 重启服务并重建超级用户
    brew services start postgresql
    createuser -s postgres
    
  6. 登录验证
    psql -h localhost -U postgres
    
    此时执行\du查看角色列表,旧角色应该已被清除。

补充说明:Homebrew安装不同版本的PostgreSQL时,数据目录可能带版本后缀(如postgresql@14、postgresql@17),也可能使用无后缀的postgresql作为默认目录,卸载时务必确认当前服务对应的实际数据路径并彻底删除,否则旧数据会被新安装的服务复用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 08:37:06