正确的方法来启动/停止postgres数据库pg_ctl或service postgres

时间:2017-08-14 09:24:27

标签: postgresql

我想知道启动/停止postgres数据库的正确方法。

有两种方式
  1. pg_ctl start/stop
  2. service postgresql start/stop
  3. 我想知道它们之间是如何不同的,我应该使用哪一个?是他们的任何利弊。

    我在线查看但没有得到满意的答复。

    提前致谢

3 个答案:

答案 0 :(得分:5)

如果您使用带有brew的Mac

开始:

brew services start postgresql

停止:

brew services stop postgresql

使用pg_ctl

开始:

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

停止:

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log stop

答案 1 :(得分:1)

如果您查看/etc/init.d/postgres${VER}文件,您会发现,当您运行service postgresql start/stop时,它会运行pg_ctl $OPTIONS start/stop。唯一的区别是服务为您提供了方便的存储环境变量和启用/禁用自动启动的方法。

以上所有操作都可以使用pg_ctl和一些脚本手动完成。

答案 2 :(得分:0)

cd /datadir

pg_ctl -D $(pwd) stop

pg_ctl -D $(pwd) start

#pg_ctl needs the path of the data (-D) 

可以直接使用:

pg_ctl -D /mnt/raid/pdb stop

pg_ctl -D /mnt/raid/pdb stop

Ref