我在 RedHat 6 上使用 PostgreSQL 9.2
我有点困惑为什么会发生以下情况:
当 postgres 运行时,以 root 身份执行“service postgresql92-postgresql status”会导致“postmaster (pid 1379) is running...”(如预期的那样)
当 postgres 运行“pg_ctl stop -D $PGDATA -m s”来停止 postgres
由于 postgres 运行“pg_ctl -D $PGDATA start”来启动 postgres(postgres 现在运行正常)
现在以root身份运行“service postgresql92-postgresql status”,输出现在是“postmaster dead but pid file exists”
我的困惑是为什么当 postgres 正常运行时我会在第 4 步中收到消息?我是否错误地停止/启动 postgres?
service postgresql92-postgresql status
检查文件是否是 postmaster.5432.pid 而不是 postmaster.pid。我建议仅使用
pg_ctl
postgres 并以ps aux
root 身份检查。或仅以service postgresql92-postgresql start/stop/status
root 身份使用。混合这两种方法会变成冲突。