Re: Switch to multi-inserts for pg_depend

Alvaro Herrera <alvherre@2ndquadrant.com>

From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>, Andres Freund <andres@anarazel.de>, Postgres hackers <pgsql-hackers@lists.postgresql.org>, Daniel Gustafsson <daniel@yesql.se>
Date: 2020-08-12T23:52:42Z
Lists: pgsql-hackers
On 2020-Aug-11, Robert Haas wrote:

> On Tue, Aug 11, 2020 at 1:59 AM Michael Paquier <michael@paquier.xyz> wrote:
> > On Mon, Aug 10, 2020 at 05:32:21PM -0700, Andres Freund wrote:
> > > Do we really want to end up with several separate defines for different
> > > type of catalog batch inserts? That doesn't seem like a good
> > > thing. Think there should be a single define for all catalog bulk
> > > inserts.
> >
> > Unlikely so, but I kept them separate to potentially lower the
> > threshold of 64kB for catalog rows that have a lower average size than
> > pg_attribute.
> 
> Uh, why would we want to do that?

Yeah.  As I understand, the only reason to have this number is to avoid
an arbitrarily large number of entries created as a single multi-insert
WAL record ... but does that really ever happen?  I guess if you create
a table with some really complicated schema you might get, say, a
hundred pg_depend rows at once.  But to fill eight complete pages of
pg_depend entries sounds astoundingly ridiculous already -- I'd say it's
just an easy way to spell "infinity" for this.  Tweaking one infinity
value to become some other infinity value sounds useless.

So I agree with what Andres said.  Let's have just one such define and
be done with it.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Commits

  1. Switch to multi-inserts when registering dependencies for many code paths

  2. Use multi-inserts for pg_depend