Cache typarray for fast lookups in binary upgrade mode
authorDaniel Gustafsson <[email protected]>
Mon, 2 Sep 2024 08:17:46 +0000 (10:17 +0200)
committerDaniel Gustafsson <[email protected]>
Mon, 2 Sep 2024 08:17:46 +0000 (10:17 +0200)
commit6ebeeae29626e742bbe16db3fa6fccf1186c0dfb
treee0db3742932670c01097eaa9d721cbc21ce3ca4e
parent4d5111b3f1a151faf8129e38f8424898588e606d
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 <[email protected]>
Discussion: https://postgr.es/m/8F1F1E1D-D17B-4B33-B014-EDBCD15F3F0B@yesql.se
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dump.h