我正在尝试重新安装 PostgreSQL,因为我根本无法登录。我意识到我很久以前就使用 postgres 网站上的安装程序和 安装了它brew install postgres
。我现在已经卸载了这两个:
- 卸载使用
brew uninstall --force postgresql
以删除通过 brew 安装的所有版本。 - 卸载使用
sudo /Library/PostgreSQL/9.5/uninstall-postgresql.app/Contents/MacOS/installbuilder.sh
- 手动移除
/Library/PostgreSQL
(rm -rf /Library/PostgreSQL
) - 手动 PostgreSQL 用户(通过 Mac
Users & Groups
)。
但是我还有一个_postgres
用户留在/etc/passwd
:
$ grep post /etc/passwd
_postgres:*:216:216:PostgreSQL Server:/var/empty:/usr/bin/false
Mac (10.11 El Capitan) 上没有可用的userdel
或usermod
命令,替代方案似乎过于复杂(但也许必然如此?)
答案1
使用命令brew remove postgresql
。或者手动调查卸载脚本。
编辑:你尝试过这个吗?
退出 Postgres.app 并将其拖到垃圾箱
删除数据目录(默认位置:~/Library/Application Support/Postgres)
通过执行以下命令删除 Postgres.app 的首选项:defaults delete com.postgresapp.Postgres2
删除命令行工具的 $PATH 配置(可选):sudo rm /etc/paths.d/postgresapp
编辑 2:要从命令行删除用户,请启动到单用户模式。 启动时按住 Command-s。 检查文件系统:/sbin/fsck -fy 如果没有其他错误,请挂载文件系统:/sbin/mount -uw / 启动目录服务:launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServices.plist 请注意,单用户模式说使用 com.apple.DirectoryServicesLocal.plist,但是那不起作用 - 这个起作用了。 查找用户所属的组:dscl . -list /groups GroupMembership | grep username - 对用户自己的组之外的每个组重复此操作。 删除与用户名对应的组:dscl . delete /groups/username(这可能不是必需的 - 您可能会收到组不存在的错误;您可以忽略它并继续)。 删除用户帐户:dscl delete /users/username 此时,您可能希望删除或存档 /Users 中的用户文件夹。您可能希望删除 /var/db 中的 .AppleSetupDone 文件,以便下次启动时运行设置助理。键入 reboot 以重新启动系统或键入 shutdown -h now 以关闭系统。