pg_upgrade and wraparound - Mailing list pgsql-general

From Alexander Shutyaev
Subject pg_upgrade and wraparound
Date
Msg-id CAGBp8g_=Zxfiny8pa8sOb7pDxjzSGmcTBAJGYUrOJ6TDK9+nyQ@mail.gmail.com
Whole thread Raw
Responses Re: pg_upgrade and wraparound  (Adrian Klaver <adrian.klaver@aklaver.com>)
Re: pg_upgrade and wraparound  (Andres Freund <andres@anarazel.de>)
List pgsql-general
Hello!

I've been trying to upgrade a postgresql cluster from 9.6 to 10. I've executed the pg_upgrade with the following options:

 /usr/lib/postgresql/10/bin/pg_upgrade -b /usr/lib/postgresql/9.6/bin/ -B /usr/lib/postgresql/10/bin/ -d /var/lib/postgresql/9.6/main -D /var/lib/postgresql/10/main -o ' -c config_file=/etc/postgresql/9.6/main/postgresql.conf' -O ' -c config_file=/etc/postgresql/10/main/postgresql.conf'

The upgrade operation failed after several hours with the following error:

database is not accepting commands to avoid wraparound data loss in database with OID 0

Earlier in the log there are a lot of messages like

pg_restore: executing BLOB 1740736966
pg_restore: WARNING:  database with OID 0 must be vacuumed within 1000279 transactions
HINT:  To avoid a database shutdown, execute a database-wide VACUUM in that database.
You might also need to commit or roll back old prepared transactions.
pg_restore: WARNING:  database with OID 0 must be vacuumed within 1000278 transactions
HINT:  To avoid a database shutdown, execute a database-wide VACUUM in that database.
You might also need to commit or roll back old prepared transactions.

I've tried to do VACUUM FULL on my 9.6 cluster on all databases and then retried the pg_upgrade - it failed in the same way.

Also to be noted, earlier this cluster was succesfully upgraded with pg_upgrade using similar parameters from older versions (at least 2 times, something like 9.1 -> 9.3, 9.3 -> 9.6). The database is around 700 GB and has very many pg_largeobjects in it.

What could be the reason of this and how can I perform my upgrade?

Thanks in advance,
Alexander

pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Multiple PostgreSQL instances on one machine
Next
From: Alexey Dokuchaev
Date:
Subject: Re: (2^63 - 1)::bigint => out of range? (because of the double precision)