Re: improve performance of pg_dump --binary-upgrade
Daniel Gustafsson <daniel@yesql.se>
From: Daniel Gustafsson <daniel@yesql.se>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2024-04-18T20:33:08Z
Lists: pgsql-hackers
> On 18 Apr 2024, at 22:28, Nathan Bossart <nathandbossart@gmail.com> wrote: > > On Thu, Apr 18, 2024 at 10:23:01AM -0500, Nathan Bossart wrote: >> On Thu, Apr 18, 2024 at 09:24:53AM +0200, Daniel Gustafsson wrote: >>> That does indeed seem like a saner approach. Since we look up the relkind we >>> can also remove the is_index parameter to binary_upgrade_set_pg_class_oids >>> since we already know that without the caller telling us? >> >> Yeah. It looks like that's been possible since commit 9a974cb, so I can >> write a prerequisite patch for this. > > Here's a new patch set with this change. From a read-through they look good, a very nice performance improvement in an important path. I think it would be nice with some comments on the BinaryUpgradeClassOids struct (since the code using it is thousands of lines away), and a comment on the if (oids == NULL) block explaining the caching. -- Daniel Gustafsson
Commits
-
Improve performance of binary_upgrade_set_pg_class_oids().
- 2329cad1b93f 18.0 landed
-
Remove is_index parameter from binary_upgrade_set_pg_class_oids().
- 6e1c4a03a978 18.0 landed
-
pg_upgrade: Preserve relfilenodes and tablespace OIDs.
- 9a974cbcba00 15.0 cited
-
pg_dump: minor performance improvements from eliminating sub-SELECTs.
- d5e8930f50e3 15.0 cited