On Wed, Nov 20, 2019 at 9:48 AM Amit Khandekar <amitdkhan...@gmail.com> wrote:
> On Wed, 20 Nov 2019 at 13:10, Amit Kapila <amit.kapil...@gmail.com> wrote: > > See comment in pgunlink() "We need to loop because even though > > PostgreSQL uses flags that allow unlink while the file is open, other > > applications might have the file > > open without those flags.". Can you once see if there is any flag > > that you have missed to pass to allow this? > > > If there is nothing we > > can do about it, then we might need to use some different API or maybe > > define a new API that can handle this. > > There were objections against modifying the vfd api only for this > replication-related use-case. Having a new API will require all the > changes required to enable the virtual FDs feature that we need from > vfd. If nothing works out from the FILE_SHARE_DELETE thing, I am > thinking, we can use VFD, plus we can keep track of per-subtransaction > vfd handles, and do something similar to AtEOSubXact_Files(). > > The comment about "other applications might have the file open without those flags." is surely due to systems working with an antivirus touching Postgres files. 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? Regards, Juan José Santamaría Flecha