Re: BUG #7794: pg_dump: errors when using pipes/streams

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: s(dot)reiser(at)tu-bs(dot)de
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #7794: pg_dump: errors when using pipes/streams
Date: 2013-01-07 00:25:24
Message-ID: 9989.1357518324@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

s(dot)reiser(at)tu-bs(dot)de writes:
> pg_dump shows one or more warnings when used with non-seekable streams:
> "pg_dump: [custom archiver] WARNING: ftell mismatch with expected position
> -- ftell used"

> Examples (on Windows 7 Pro 64 Bit, PG 9.1.7 and 9.1.6, 64 Bit)

> 1) pg_dump --format=custom --schema-only mydatabase | zip -0 TEST.ZIP -

Hm. Apparently, pg_dump's checkSeek() function is succeeding even
though later attempts to seek the file don't work. We had a previous
go-round with issues of this sort,
http://archives.postgresql.org/pgsql-hackers/2010-06/msg01355.php
but apparently Windows is "helpful" enough to let a no-op SEEK_SET
call succeed too. (Gee thanks, Microsoft.)

Anyone know how to test for seekability of a file in a way that
works reliably on Windows?

> With all three generated files pg_restore produces exactly the same script,
> so the backup seems ok - but why the warnings then?

My guess is that it's failing to update the table of contents on
completion, which will cause parallel pg_restore to fail, but it's
harmless for ordinary pg_restore. If we fix checkSeek the warnings
would go away, but you'd still have an archive that's not usable
for parallel restores.

regards, tom lane

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2013-01-07 00:32:06 Re: BUG #7792: pg_dump does not treat -c flag correctly when using tar format
Previous Message Tom Lane 2013-01-07 00:02:32 Re: BUG #7791: create database with owner, owner does not get usage on schema