停止 postgresql 实例

停止 postgresql 实例

为了教育目的,我在我的机器上运行了两个相同的 postgresql 实例。

我可以轻松停止在端口 5432 上运行的实例的服务,如下所示:

sudo service postgresql stop

我想知道的是如何停止另一个实例(它在端口 5433 上运行)

答案1

pg_ctl停止 postgreSQL 的 postreSQL 方式是什么(在 Ubuntu 和 Debian 中我们应该使用pg_ctlcluster它是 的包装器pg_ctl)。该链接中的示例使用选项“-p 5433”。

正如 naoko 在下面的评论中所建议的,使用pg_lsclusters它来列出集群。

另一种方法是向正在运行 postgresqld 的进程发出kill信号。同时停止两者killall postgresqld可能会有效。

最后,正如 psyCHOder 评论中所建议的,pgAdmin 也可以停止服务器,但这当然意味着安装该包。

答案2

使用 systemctl

sudo systemctl stop postgresql

答案3

在 Ubuntu 中使用 systemctl:

:~/github/kafka/postgres-kafka-demo$ pg_lsclusters
Ver Cluster Port Status Owner    Data directory              Log file
12  main    5432 online postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.log

:~/github/kafka/postgres-kafka-demo$ sudo -u postgres pg_ctlcluster 12 main stop
[sudo] password for : 

警告:使用 pg_ctlcluster 停止集群将标记 systemd 单元为失败。考虑使用 systemctl:sudo systemctl stop postgresql@12-main

:~/github/kafka/postgres-kafka-demo$ sudo systemctl stop postgresql@12-main

:~/github/kafka/postgres-kafka-demo$ pg_lsclusters
Ver Cluster Port Status Owner    Data directory              Log file
12  main    5432 down   postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.log

答案4

你可以运行

sudo systemctl stop postgresql[@version-main]

例如,如果你想停止版本 10,请运行

sudo systemctl stop postgresql@10-main

相关内容