From: Michael Paquier <michael@paquier.xyz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Mark Lai <mark.lai@integrafec.com>
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #15333: pg_dump error on large table -- "pg_dump: could not stat file...Unknown error"
Date: Mon, 20 Aug 2018 07:11:57 +0900
Message-ID: <20180819221157.GC1785@paquier.xyz> (raw)
In-Reply-To: <5632.1534517591@sss.pgh.pa.us>
References: <153442391458.1505.9181095584291689853@wrigleys.postgresql.org>
<13611.1534433145@sss.pgh.pa.us>
<CAM2yA55e6cax=djNiRO-G2aR=JH7HfA1sVFNNUQFJxyVXUwHOA@mail.gmail.com>
<5632.1534517591@sss.pgh.pa.us>
On Fri, Aug 17, 2018 at 10:53:11AM -0400, Tom Lane wrote:
> Mark Lai <mark.lai@integrafec.com> writes:
>> I ran the dump on the large table with no jobs flag and got the same error.
>> ...
>> The dump was successful on a small table.
>
> Weird indeed. Can any Windows developers reproduce this and poke into it?
>
> I have a sneaking suspicion that this is related to Windows' known issues
> with concurrently-opened files, but it's pretty hard to see why there
> would be a dependency on the size of the file.
When it comes to pg_dump, the error message reported seems to come from
src/common/file_utils.c, in walkdir when processing links. On Windows
we map lstat() to stat(), which is itself pgwin32_safestat().
If you use pg_dump --no-sync, the error could be bypassed but that's
hardly a fix. That could be a failure on GetFileAttributeEx(). Which
file system are you using?
--
Michael
Attachments:
signature.asc (application/pgp-signature, 832B) download
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: michael@paquier.xyz, tgl@sss.pgh.pa.us, mark.lai@integrafec.com, pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #15333: pg_dump error on large table -- "pg_dump: could not stat file...Unknown error"
In-Reply-To: <20180819221157.GC1785@paquier.xyz>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox