我有两个 postgresql 安装:
$ sudo /etc/init.d/postgresql status
9.1/main (port 5432): online
9.2/main (port 5433): online
我习惯于重新启动 postgres 数据库,执行以下操作:
$ sudo /etc/init.d/postgresql restart
……但是现在有两个,怎么选择重启哪一个呢?
更新:根据我从Micah Yoder收到的答案,我做了一个:
/usr/lib/postgresql/9.2/bin/pg_ctl -D /var/lib/postgresql/9.2/main restart
遇到“无法打开 PID 文件 /var/lib/postgresql/9.2/main/main/postmaster.pid 权限被拒绝”。当我尝试在sudo-i会话中运行pg_ctl时,我遇到了:
pg_ctl: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will
own the server process.
我应该如何运行pg_ctl程序?另外我不明白为什么我必须为重启指明数据文件。进程不知道它正在使用哪个数据文件吗?
更新 2 最后我放弃了pg_ctl并做了一个:
sudo /etc/init.d/postgresql restart 9.2
.. 根据公认的答案。