![删除 PostgreSQL-User 时遇到问题](https://linux22.com/image/979065/%E5%88%A0%E9%99%A4%20PostgreSQL-User%20%E6%97%B6%E9%81%87%E5%88%B0%E9%97%AE%E9%A2%98.png)
我如何删除用户 PostgreSQL?
“提示说无法删除运行‘/usr/sbin/userdel’的用户,失败:子进程退出,代码为 16”
postgres 2105 1 0 12:23 ? 00:00:00 /opt/PostgreSQL/9.4/bin/postgres -D /opt/PostgreSQL/9.4/data
postgres 2106 2105 0 12:23 ? 00:00:00 postgres: logger process
postgres 2108 2105 0 12:23 ? 00:00:00 postgres: checkpointer process
postgres 2109 2105 0 12:23 ? 00:00:00 postgres: writer process
postgres 2110 2105 0 12:23 ? 00:00:00 postgres: wal writer process
postgres 2111 2105 0 12:23 ? 00:00:00 postgres: autovacuum launcher process
postgres 2112 2105 0 12:23 ? 00:00:00 postgres: stats collector process
nuc 2672 2623 0 12:25 pts/1 00:00:00 grep --color=auto postgres
答案1
当该用户拥有的进程仍在运行时,您无法删除该用户。
如果您不想卸载 PostreSQL 但想更改其运行用户(不推荐),您应该先停止服务器进程,然后停止chown
当前拥有的所有文件postgres
。否则,请卸载服务器(sudo apt-get purge postgresql
)然后userdel
重试。
答案2
我们可以看到postgres进程仍在运行,首先终止所有进程,然后尝试删除用户。
运行以下命令
sudo kill -9 `pgrep postgres`
sudo userdel -r postgres
或者最好卸载 postgres 软件。