Re: pg_upgrade from 9.5 to 9.6 fails with "invalid argument"

From: Thomas Kellerer <spam_eater(at)gmx(dot)net>
To: pgsql-general(at)postgresql(dot)org
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: pg_upgrade from 9.5 to 9.6 fails with "invalid argument"
Date: 2016-09-30 09:40:24
Message-ID: nslbu6$4i2$1@blaine.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

Tom Lane schrieb am 29.09.2016 um 23:10:
> Thomas Kellerer <spam_eater(at)gmx(dot)net> writes:
>> for some reason pg_upgrade failed on Windows 10 for me, with an error message that one specifc _vm file couldn't be copied.
>
> Hmm ... a _vm file would go through rewriteVisibilityMap(), which is new
> code for 9.6 and hasn't really gotten that much testing. Its error
> reporting is shamefully bad --- you can't tell which step failed, and
> I wouldn't even put a lot of faith in the errno being meaningful,
> considering that it does close() calls before capturing the errno.
>
> But what gets my attention in this connection is that it doesn't
> seem to be taking the trouble to open the files in binary mode.
> Could that lead to the reported failure? Not sure, but it seems
> like at the least it could result in corrupted VM files.

I did this on two different computers, one with Windows 10 the other with Windows 7.
(only test-databases, so no real issue anyway)

In both cases running a "vacuum full" for the table in question fixed the problem and pg_upgrade finished without problems.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Achilleas Mantzios 2016-09-30 09:47:16 Re: Multi tenancy : schema vs databases
Previous Message John R Pierce 2016-09-30 09:11:32 Re: Multi tenancy : schema vs databases

Browse pgsql-hackers by date

  From Date Subject
Next Message Masahiko Sawada 2016-09-30 10:54:58 Re: [GENERAL] pg_upgrade from 9.5 to 9.6 fails with "invalid argument"
Previous Message Magnus Hagander 2016-09-30 09:19:07 Re: Small race in pg_xlogdump --follow