On Mon, Aug 9, 2021 at 9:23 PM Noah Misch <noah@leadboat.com> wrote:
> > I don't presently have a specific idea about how to fix this.
>
> Can't recovery just not delete the directory, create it if doesn't exist, and
> be happy if it does exist? Like the attached WIP. If we think it's possible
> for a crash during mkdir to leave a directory having the wrong permissions,
> adding a chmod would be in order.
Oh, yeah, I think that works, actually. I was imagining a few problems
here, but I don't think they really exist. The redo routines for files
within the directory can't possibly care about having the old files
erased for them, since that wouldn't be something that would normally
happen, if there were no recent CREATE TABLESPACE involved. And
there's code further down to remove and recreate the symlink, just in
case. So I think your proposed patch might be all we need.
--
Robert Haas
EDB: http://www.enterprisedb.com