On Sun, Jan 26, 2014 at 1:03 PM, Andres Freund <andres@2ndquadrant.com> wrote:
> For some reason CheckForStandbyTrigger() doesn't report permission
> errors when stat()int the trigger file. Shouldn't we fix that?
>
> static bool
> CheckForStandbyTrigger(void)
> {
> ...
> if (stat(TriggerFile, &stat_buf) == 0)
> {
> ereport(LOG,
> (errmsg("trigger file found: %s", TriggerFile)));
> unlink(TriggerFile);
> triggered = true;
> fast_promote = true;
> return true;
> }
>
> Imo the stat() should warn about all errors but ENOENT?
Seems reasonable. It could lead to quite a bit of log spam, I
suppose, but the way things are now could be pretty mystifying if
you've located your trigger file somewhere outside $PGDATA, and a
parent directory is lacking permissions.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company