在 Kubuntu 20.04 上
在我成功启动计算机上的 docker 容器之前,我需要终止 Postgres 进程。我这样做:
sudo ss -lptn 'sport = :5432'
,输出:
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 244 127.0.0.1:5432 0.0.0.0:* users:(("postgres",pid=1003,fd=5))
kill <pid>
现在我可以运行带有 Postgres 数据库的 docker 容器了。我希望这样我就不必在运行任何 Postgres 数据库之前执行这些步骤。由于某种原因,lsof -i :5432
没有返回该过程。
Postgres 在后台运行是标准行为吗?停止此过程安全吗?如果是,我该如何阻止此过程在后台自动运行?
我尝试了以下命令,但没有成功:
sudo systemctl disable postgresql
sudo update-rc.d postgresql disable
答案1
终止数据库进程是破坏数据库的一个非常好的方法。PostgreSQL 默认不安装,因此某事或某人一定是出于某种原因才将它放在机器上的。您需要确认系统上是否有任何东西需要它。
不过,要回答这个问题,您可以像这样安全地停止 PostgreSQL:
sudo service postgresql stop
您可以像这样阻止 PostgreSQL 在启动时启动:
sudo service postgresql disable
如果您的系统上没有任何内容需要在本地安装数据库引擎,则可以将其删除:
sudo apt --purge remove postgresql
笔记:这只会删除服务器元素,而保留完整的客户端库以连接到 PostgreSQL 安装。