Re: pg_restore fails with a custom backup file - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: pg_restore fails with a custom backup file
Date
Msg-id 45D6EE0F.2040806@hagander.net
Whole thread Raw
In response to Re: pg_restore fails with a custom backup file  (Yoshiyuki Asaba <y-asaba@sraoss.co.jp>)
Responses Re: pg_restore fails with a custom backup file  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Yoshiyuki Asaba wrote:
> From: Magnus Hagander <magnus@hagander.net>
> Subject: Re: [HACKERS] pg_restore fails with a custom backup file
> Date: Fri, 16 Feb 2007 10:13:35 +0100
> 
>> On Fri, Feb 16, 2007 at 02:09:41PM +0900, Yoshiyuki Asaba wrote:
>>
>>>>> Does not compile on my MinGW - errors in the system headers (unistd.h,
>>>>> io.h) due to changing the argument format for chsize(). The change of
>>>>> off_t propagated into parts of the system headers, thus chaos was
>>>>> ensured.
>>>>>
>>>>> I still think we need to use a pgoff_t. Will look at combining these two
>>>>> approaches.
>>>> Here's a patch that tries this.
>>>> *needs more testing*. But built with this patch, I can dump and
>>>> restore a table at the end of a 10gb database without errors.
>>> I tried the attached patch. But I got the following error.
>>>
>>> pg_backup_archiver.o(.text+0x1fa4): In function `allocAH':
>>> C:/msys/1.0/home/y-asaba/postgresql-8.2.3-patch/src/bin/pg_dump/pg_backup_archiver.c:1580: undefined reference to
`fseeko64'
>>> ...
>>> make[3]: *** [pg_dump] Error 1
>>>
>>>   $ uname -sr
>>>   MINGW32_NT-5.1 1.0.10(0.46/3/2)
>>>
>>> Is MINGW version too old?
>> I think so. It seems this was added in version 1.24 of stdio.h in mingw
>> (http://cygwin.com/cgi-bin/cvsweb.cgi/src/winsup/mingw/include/stdio.h?cvsroot=src).
>> Could you try upgrading mingw and see if that helps? Or possibly
>> instlaling side-by-side a different version (if they even allow that)?
> 
> OK. I have upgraded mingw and tried to compile. regression tests
> passed. So I tested pg_restore on Windows and Linux.
> 
>   $ createdb test
>   $ pgbench -i -s 1000 test
>   $ pg_dump -Fc test > out
>   $ createdb restore
>   $ pg_restore -d restore out
>   $ psql -c 'select max(aid) from accounts' restore
>       max
>   -----------
>    100000000
>   (1 row)
> 
> pg_restore was normally completed. Thank you for your great work. I wish
> that the patch will be committed.

Thanks for running those tests. I need to test the msvc build as well,
but I can hopefully do that quickly. (and a few tests that I didn't
break unix)

I'd also like a comment from at least one other "patch reviewer" that
the methods used are good.

//Magnus


pgsql-hackers by date:

Previous
From: Yoshiyuki Asaba
Date:
Subject: Re: pg_restore fails with a custom backup file
Next
From: Lukas Kahwe Smith
Date:
Subject: Re: wishlist items ..