Re: BUG #18146: Rows reappearing in Tables after Auto-Vacuum Failure in PostgreSQL on Windows
От | Thomas Munro |
---|---|
Тема | Re: BUG #18146: Rows reappearing in Tables after Auto-Vacuum Failure in PostgreSQL on Windows |
Дата | |
Msg-id | CA+hUKGLCroGa8izqJnhJcN-22j4q1r9FfXG_xZU=q4Z=YU6pUg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: BUG #18146: Rows reappearing in Tables after Auto-Vacuum Failure in PostgreSQL on Windows (Thomas Munro <thomas.munro@gmail.com>) |
Список | pgsql-bugs |
On Thu, Oct 5, 2023 at 10:12 AM Thomas Munro <thomas.munro@gmail.com> wrote: > It's surprising that ftruncate() AKA chsize() is able to fail like > this (I am not a Windows user but AFAIR that sharing stuff obstructs > stuff like open, unlink, rename, so it surprises me to see it come up > with ftruncate, since we must already have made it past the open > stage). Hmm, the documentation is scant, but I know from my attempts > to use large files that chsize() is probably some kind of wrapper > around SetEndOfFile() or similar, and that is documented as failing if > someone has the file mapped. I don't know why someone would have the > file mapped, though. Some more thoughts: I guess it would probably also fail like that if someone explicitly locked a range with LockFile(), but I think we can rule that out as read and/or write calls would also fail. As for the mapping theory, apparently the underlying NT error for that is ERROR_USER_MAPPED_FILE, and searching for that brings up various unexplained errors vaguely blamed on anti-virus tools etc. But if all of that sort of thing really is turned off for the data directory, I wonder if there could be a backup tool in use that thinks it can go faster by mapping files while copying?
В списке pgsql-bugs по дате отправления: