In going through some parameter file cleanup and re-factoring, I've been using the hba_file parameter to specify a non-standard file location. I tried using a relative location, thinking it would be relative to $PGDATA but in actuality it is relative to the pwd of my bash session that starts the database.
For example, if I'm in /tmp when I run "pg_ctl start", it will look for the hba_file value under /tmp. If I change to $PGDATA/pg_log, it will look under there.
Obviously I can change to an absolute path and not worry about it, but I'm curious if this is the intended behavior. Why would we want that hba_file value to be relative to something as volatile as pwd?
FWIW this is Postgres 9.6.5 on CentOS 7.3.
Don.