On Thu, Nov 19, 2015 at 5:54 AM, Jeff Janes <jeff.ja...@gmail.com> wrote: > On Wed, Nov 18, 2015 at 11:18 AM, Jeff Janes <jeff.ja...@gmail.com> wrote: >> >> I get an error when running pg_upgrade from 9.4 to 9.6-this >> >> error while copying relation "mediawiki.archive" >> ("/tmp/data/base/16414/21043_vm" to >> "/tmp/data_fm/base/16400/21043_vm"): No such file or directory > > OK, so the problem seems to be that rewriteVisibilitymap can get > called with errno already set to a nonzero value. > > It never clears it, and then fails at the end despite that no error > has actually occurred. > > Just setting it to 0 at the top of the function seems to be correct > thing to do. Or does it need to save the old value and restore it?
Thank you for testing! I think that the former is better, so attached latest patch. > But now when I want to do the upgrade faster, I run into this: > > "This utility cannot upgrade from PostgreSQL version from 9.5 or > before to 9.6 or later with link mode." > > Is this really an acceptable a tradeoff? Surely we can arrange to > link everything else and rewrite just the _vm, which is a tiny portion > of the data directory. I don't think that -k promises to link > everything it possibly can. I agree. I've changed the patch so that. pg_upgarde creates new _vm file and rewrites it even if upgrading to 9.6 with link mode. Regards, -- Masahiko Sawada
000_add_frozen_bit_into_visibilitymap_v25.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers