public inbox for [email protected]
help / color / mirror / Atom feedFrom: Robert Haas <[email protected]>
To: Nathan Bossart <[email protected]>
Cc: Tom Lane <[email protected]>
Cc: Alvaro Herrera <[email protected]>
Cc: Andrew Dunstan <[email protected]>
Cc: [email protected]
Subject: Re: Inefficiency in parallel pg_restore with many tables
Date: Fri, 1 Sep 2023 16:00:44 -0400
Message-ID: <CA+TgmoYtJ+ad+ej=BCPWRNPyNoLy2R2O5wBSZUeyaQ54jrPk4A@mail.gmail.com> (raw)
In-Reply-To: <20230725185336.GA2911441@nathanxps13>
References: <20230718045701.GA1090171@nathanxps13>
<[email protected]>
<20230718160713.GA1139177@nathanxps13>
<20230720190644.GA1724613@nathanxps13>
<20230722231941.GA2020225@nathanxps13>
<[email protected]>
<20230723055703.GA2421212@nathanxps13>
<20230724190015.GA2528613@nathanxps13>
<20230725185336.GA2911441@nathanxps13>
On Tue, Jul 25, 2023 at 2:53 PM Nathan Bossart <[email protected]> wrote:
> On Mon, Jul 24, 2023 at 12:00:15PM -0700, Nathan Bossart wrote:
> > Here is a sketch of this approach. It required fewer #ifdefs than I was
> > expecting. At the moment, this one seems like the winner to me.
>
> Here is a polished patch set for this approach. I've also added a 0004
> that replaces the open-coded heap in pg_dump_sort.c with a binaryheap.
> IMHO these patches are in decent shape.
[ drive-by comment that hopefully doesn't cause too much pain ]
In hindsight, I think that making binaryheap depend on Datum was a bad
idea. I think that was my idea, and I think it wasn't very smart.
Considering that people have coded to that decision up until now, it
might not be too easy to change at this point. But in principle I
guess you'd want to be able to make a heap out of any C data type,
rather than just Datum, or just Datum in the backend and just void *
in the frontend.
--
Robert Haas
EDB: http://www.enterprisedb.com
view thread (23+ 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], [email protected], [email protected], [email protected], [email protected]
Subject: Re: Inefficiency in parallel pg_restore with many tables
In-Reply-To: <CA+TgmoYtJ+ad+ej=BCPWRNPyNoLy2R2O5wBSZUeyaQ54jrPk4A@mail.gmail.com>
* 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