public inbox for [email protected]  
help / color / mirror / Atom feed
From: 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