![Postgresql 第二个实例的启动脚本?](https://linux22.com/image/1411156/Postgresql%20%E7%AC%AC%E4%BA%8C%E4%B8%AA%E5%AE%9E%E4%BE%8B%E7%9A%84%E5%90%AF%E5%8A%A8%E8%84%9A%E6%9C%AC%EF%BC%9F.png)
我需要在 Linux 启动时运行我的第二个 postgresql 实例。我在 rc.local 中添加了此命令(如在 postgresql 文档中):
/usr/lib/postgresql/9.1/bin/pg_ctl start -l logfile -D /var/lib/postgresql/9.1/main2
但如果我尝试运行 pg_ctl:
cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will
own the server process.
t, it gives me this error:
我如何指定以 postgres 身份运行该命令,但实际上以 root 身份执行它(因为 root 拥有它)。
或者是否有更好的方法来为 postgresql 制作第二个初始化脚本?
PS(我使用的是 Ubuntu)
答案1
如果您使用的是 Ubuntu(看起来您就是这样的),那么您不需要自己做任何这些事情。
pg_ctlcluster
阅读、pg_createcluster
、的文档pg_lsclusters
。这些是 Ubuntu 软件包的一部分pg_wrapper
,提供内置的多个实例和版本的管理。