Re: Faster "SET search_path"
Jeff Davis <pgsql@j-davis.com>
From: Jeff Davis <pgsql@j-davis.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Isaac Morland <isaac.morland@gmail.com>, pgsql-hackers@postgresql.org
Date: 2023-11-21T01:13:33Z
Lists: pgsql-hackers
Attachments
- v10-0002-Use-SH_STORE_HASH-for-search_path-cache.patch (text/x-patch) patch v10-0002
- v10-0001-Optimize-SearchPathCache-by-saving-the-last-entr.patch (text/x-patch) patch v10-0001
On Thu, 2023-11-16 at 16:46 -0800, Jeff Davis wrote: > While I considered OOM during hash key initialization, I missed some > other potential out-of-memory hazards. Attached a fixup patch 0003, > which re-introduces one list copy but it simplifies things > substantially in addition to being safer around OOM conditions. Committed 0003 fixup. > > > 0004: Use the same cache to optimize check_search_path(). Committed 0004. > > > 0005: Optimize cache for repeated lookups of the same value. Will commit 0005 soon. I also attached a trivial 0006 patch that uses SH_STORE_HASH. I wasn't able to show much benefit, though, even when there's a bucket collision. Perhaps there just aren't enough elements to matter -- I suppose there would be a benefit if there are lots of unique search_path strings, but that doesn't seem very plausible to me. If someone thinks it's worth committing, then I will, but I don't see any real upside or downside. Regards, Jeff Davis
Commits
-
Fix missing invalidations for search_path cache.
- b3bd18294ee4 18.0 landed
- d3e076549b99 17.0 landed
-
Optimize SearchPathCache by saving the last entry.
- a86c61c9eefa 17.0 landed
-
Optimize check_search_path() by using SearchPathCache.
- ad57c2a7c586 17.0 landed
-
Be more paranoid about OOM in search_path cache.
- 8efa301532c8 17.0 landed
-
Add cache for recomputeNamespacePath().
- f26c2368dcae 17.0 landed
-
Transform proconfig for faster execution.
- 5765cfe18c59 17.0 landed