in 9.3 and 9.4, pgstat_reset_remove_files uses the global variable
pgstat_stat_directory rather than the argument it is passed, "directory".
 On crash recovery, this means the tmp directory gets cleared twice and the
permanent pg_stat doesn't get cleared at all.

It seems like the obvious one line change would fix it, but I haven't
tested it because I don't know how to cause a crash without pg_stat already
being empty.




pgstat_reset_remove_files(const char *directory)
{
    DIR        *dir;
    struct dirent *entry;
    char        fname[MAXPGPATH];

    dir = AllocateDir(pgstat_stat_directory);


Cheers,

Jeff

Reply via email to