我想知道启动/停止postgres数据库的正确方法。
有两种方式pg_ctl start/stop
service postgresql start/stop
我想知道它们之间是如何不同的,我应该使用哪一个?是他们的任何利弊。
我在线查看但没有得到满意的答复。
提前致谢
答案 0 :(得分:5)
开始:
brew services start postgresql
停止:
brew services stop postgresql
开始:
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