删除 PostgreSQL-User 时遇到问题

删除 PostgreSQL-User 时遇到问题

我如何删除用户 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 软件。

相关内容