On 2019-Nov-20, Juan José Santamaría Flecha wrote: > I was not able to reproduce the Permission denied error with current HEAD, > until I opened another CMD inside the "pg_replslot/regression_slot" folder. > This will be problematic, is the deletion of the folder actually needed?
Yes :-( The code assumes that if the directory is there, then it's valid. Trying to remove that assumption is probably a more invasive fix. I think ReplicationSlotDropAcquired is too pessimistic (no recourse if the rename fails) and too optimistic (this will almost never happen). We could change it so that the rename is retried a few times, and avoid the failure. (Naturally, the rmtree should also be retried.) The code seems written with the POSIX semantics in mind, but it seems easy to improve. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services