Re: Fail to create PK or index for large table in Windows

Thomas Munro <thomas.munro@enterprisedb.com>

From: Thomas Munro <thomas.munro@enterprisedb.com>
To: ospavelmail@gmail.com
Cc: PostgreSQL Bugs <pgsql-bugs@postgresql.org>
Date: 2018-11-13T09:57:39Z
Lists: pgsql-bugs
On Tue, Nov 13, 2018 at 10:22 PM Pavel <ospavelmail@gmail.com> wrote:
> You can log contents of directory before rmdir.
> If it empty then the reason should be in multiworkers: looks like
> Windows disallow to delete directory if it (or files in it) used by
> somebody else (like other workers) and maybe some workers didn't
> release it before rmdir. Linux allows as I know.

Yeah, its "unlink" operation seems to be an incomplete illusion.  The
fix for that is simply to reorder some cleanup operations in our error
path.

Oh, I think I just understood the root bug.  It looks like a stupid
"large file" problem, 32 bit off_t being overflowed.  I'll keep the
discussion off that over on the other thread.  I posted a patch on
that thread; if you're able to recompile PostgreSQL, it'd be great if
you could test it.  Otherwise, no worries.

-- 
Thomas Munro
http://www.enterprisedb.com


Commits

  1. Use 64 bit type for BufFileSize().