" service postgresql start"有什么区别?和" pg_ctl开始"?

时间:2015-05-27 18:30:47

标签: linux postgresql

在Ubuntu 14.04上,如果我设置了PGDATA环境变量,那么这两个命令

service postgresql start

pg_ctl start

似乎做同样的事情:在后台启动postgres服务器。 没有设置PGDATA," pg_ctl start"需要额外的 -D / datadir 参数才能启动。该服务不需要这个。为什么会这样?启动服务器的两种方式有什么区别?如何在不知道数据目录的情况下开始服务?

1 个答案:

答案 0 :(得分:1)

service命令运行System V样式的init脚本。在这种情况下,您正在postgreql目录中运行名为/etc/init.d的脚本。这个脚本可能是专为Ubuntu编写的,并且包含正确的配置信息。