When postgresql is stopped, '/etc/rc.d/postgresql check' returns 3, but according to rc.subr(8) it should return 1.
The rc.script basically uses: /usr/local/bin/pg_ctl -D /var/postgresql/data/ status According to pg_ctl(1), an exit status of 3 does indeed mean that postgresql is not running. > status mode checks whether a server is running in the specified data > directory. If it is, the PID and the command line options that were > used to invoke it are displayed. If the server is not running, the > process returns an exit status of 3. However, according to rc.subr(8), the rc script should return 1. >check Call rc_check. Return 0 if the daemon is running or > 1 if it is not. My personal problem is that I use ansible for checking service status. Ansible assumes that '/etc/rc.d/postgresql status' will will return either 0 or 1, and fails if it returns everything else. As I understand it, this is correct according to rc.subr(8), but maybe ansible should be more lenient and just check for non-zero exit instead of '1'. Who's really at fault here?
