Re: CREATE DATABASE ... STRATEGY WAL_LOG issues
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers@postgresql.org, Dilip Kumar <dilipbalaut@gmail.com>
Date: 2023-03-21T15:33:59Z
Lists: pgsql-hackers
On Tue, Mar 21, 2023 at 3:01 AM Andres Freund <andres@anarazel.de> wrote: > While hacking on my relation extension patch I found two issues with WAL_LOG: > > 1) RelationCopyStorageUsingBuffer() doesn't free the used strategies. This > means we'll use #relations * ~10k memory Woops. > 2) RelationCopyStorageUsingBuffer() gets the buffer for the target relation > with RBM_NORMAL, therefore requiring a read of a block guaranteed to be > zero Woops. > Easy enough to fix and shows clear improvement. One thing I wonder is if it's > worth moving the strategies up one level? Probaly not, but ... Hmm, so share a strategy across all relation forks? You could even push it up a level beyond that and share it across all relations being copied. That feels like it would be slightly more rational behavior, but I'm not smart enough to guess whether anyone would actually be happier (or less happy) after such a change than they are now. -- Robert Haas EDB: http://www.enterprisedb.com
Commits
-
Fix memory leak and inefficiency in CREATE DATABASE ... STRATEGY WAL_LOG
- 560bb56c6eba 15.3 landed
- 5df319f3d55d 16.0 landed