public inbox for [email protected]
help / color / mirror / Atom feedFrom: Peter Eisentraut <[email protected]>
To: Tharakan, Robins <[email protected]>
To: [email protected] <[email protected]>
Subject: Re: pg_upgrade failing for 200+ million Large Objects
Date: Mon, 8 Mar 2021 11:25:13 +0100
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
On 07.03.21 09:43, Tharakan, Robins wrote:
> Attached is a proof-of-concept patch that allows Postgres to perform
> pg_upgrade if the instance has Millions of objects.
>
> It would be great if someone could take a look and see if this patch is in
> the right direction. There are some pending tasks (such as documentation /
> pg_resetxlog vs pg_resetwal related changes) but for now, the patch helps
> remove a stalemate where if a Postgres instance has a large number
> (accurately speaking 146+ Million) of Large Objects, pg_upgrade fails. This
> is easily reproducible and besides deleting Large Objects before upgrade,
> there is no other (apparent) way for pg_upgrade to complete.
>
> The patch (attached):
> - Applies cleanly on REL9_6_STABLE -
> c7a4fc3dd001646d5938687ad59ab84545d5d043
> - 'make check' passes
> - Allows the user to provide a constant via pg_upgrade command-line, that
> overrides the 2 billion constant in pg_resetxlog [1] thereby increasing the
> (window of) Transaction IDs available for pg_upgrade to complete.
Could you explain what your analysis of the problem is and why this
patch (might) fix it?
Right now, all I see here is, pass a big number via a command-line
option and hope it works.
view thread (49+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: pg_upgrade failing for 200+ million Large Objects
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox