我有两个 postgresql 安装:
$ sudo /etc/init.d/postgresql status
9.1/main (port 5432): online
9.2/main (port 5433): online
Run Code Online (Sandbox Code Playgroud)
我习惯于重新启动 postgres 数据库执行以下操作:
$ sudo /etc/init.d/postgresql restart
Run Code Online (Sandbox Code Playgroud)
……可是现在有两个,怎么选哪一个重启呢?
更新:按照我从Micah Yoder那里收到的答案,我做了一个:
/usr/lib/postgresql/9.2/bin/pg_ctl -D /var/lib/postgresql/9.2/main restart
Run Code Online (Sandbox Code Playgroud)
遇到“无法打开 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.
Run Code Online (Sandbox Code Playgroud)
我应该如何运行pg_ctl程序?另外我不明白为什么我必须指出数据文件以重新启动。进程不知道它使用的是哪个数据文件吗?
更新 2 最后我放弃了pg_ctl并做了一个:
sudo /etc/init.d/postgresql restart 9.2
Run Code Online (Sandbox Code Playgroud)
..根据接受的答案。
postgresql ×1