pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Daniel Gustafsson <dgustafsson@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Cache typarray for fast lookups in binary upgrade mode
Date: Mon, 02 Sep 2024 08:46:50 +0000
Message-ID: <E1sl2i1-000En2-LR@gemulon.postgresql.org> (raw)

Cache typarray for fast lookups in binary upgrade mode

When upgrading a large schema it adds significant overhead to perform
individual catalog lookups per relation in order to retrieve Oid for
preserving Oid calls. This instead adds the typarray to the TypeInfo
cache which then allows for fast lookups using the existing API. A
35% reduction of pg_dump runtime in binary upgrade mode was observed
with this change.

Reviewed-by: Nathan Bossart <nathandbossart@gmail.com>
Discussion: https://postgr.es/m/8F1F1E1D-D17B-4B33-B014-EDBCD15F3F0B@yesql.se

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/6ebeeae29626e742bbe16db3fa6fccf1186c0dfb

Modified Files
--------------
src/bin/pg_dump/pg_dump.c | 20 ++++++++------------
src/bin/pg_dump/pg_dump.h |  1 +
2 files changed, 9 insertions(+), 12 deletions(-)



Message-ID: <E1sl2i1-000En2-LR@gemulon.postgresql.org>
Permalink:  ../E1sl2i1-000En2-LR@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1sl2i1-000En2-LR@gemulon.postgresql.org

 · 

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: pgsql-committers@postgresql.org
  Cc: dgustafsson@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Cache typarray for fast lookups in binary upgrade mode
  In-Reply-To: <E1sl2i1-000En2-LR@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox