在Ubuntu 14.04上,如果我设置了PGDATA环境变量,那么这两个命令
service postgresql start
和
pg_ctl start
似乎做同样的事情:在后台启动postgres服务器。 没有设置PGDATA," pg_ctl start"需要额外的 -D / datadir 参数才能启动。该服务不需要这个。为什么会这样?启动服务器的两种方式有什么区别?如何在不知道数据目录的情况下开始服务?
答案 0 :(得分:1)
service
命令运行System V样式的init脚本。在这种情况下,您正在postgreql
目录中运行名为/etc/init.d
的脚本。这个脚本可能是专为Ubuntu编写的,并且包含正确的配置信息。