Re: Fail to create PK or index for large table in Windows
Pavel <ospavelmail@gmail.com>
From: Pavel <ospavelmail@gmail.com>
To: thomas.munro@enterprisedb.com
Cc: PostgreSQL Bugs <pgsql-bugs@postgresql.org>
Date: 2018-11-13T09:21:55Z
Lists: pgsql-bugs
Thank you for your work! 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. Best regards, Pavel Oskin вт, 13 нояб. 2018 г. в 12:01, Thomas Munro: > > On Tue, Nov 13, 2018 at 10:22 AM Pavel wrote: > > PostgreSQL 11.0, 11.1 > > OS: Windows 7 x64 > > RAM: 16GB > > Thanks for the report. This is the same issue as reported in bug #15460: > > https://www.postgresql.org/message-id/flat/15460-b6db80de822fa0ad%40postgresql.org > > We are still trying to figure out what causes this, and there have > been no similar reports on Unix. For a workaround, you can disable > parallel index building with SET max_parallel_maintenance_workers = 0. > > > 2018-11-12 21:31:05.182 MSK [6672] ERROR: could not determine size of > > temporary file "0" > > 2018-11-12 21:31:05.182 MSK [6672] STATEMENT: alter table sc.address > > add primary key (id_address); > > This is the thing we haven't understood yet. > > > 2018-11-12 21:31:05.889 MSK [7008] LOG: could not rmdir directory > > "base/pgsql_tmp/pgsql_tmp6672.0.sharedfileset": Directory not empty > > > > After error the directory > > "base/pgsql_tmp/pgsql_tmp6672.0.sharedfileset" is empty. > > For the later "could not rmdir directory" error, I am fairly sure I > understand what's happening there (see the other bug thread) but > that's only a LOG message and an empty directory left behind after an > error is raised, it's not the root cause. > > -- > Thomas Munro > http://www.enterprisedb.com
Commits
-
Use 64 bit type for BufFileSize().
- fa2ceaca4358 11.2 landed
- aa5518304213 12.0 landed