Re: Let's make PostgreSQL multi-threaded
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: knizhnik@garret.ru, pashkin.elfe@gmail.com, dilipbalaut@gmail.com, hannuk@google.com, hlinnaka@iki.fi, pgsql-hackers@postgresql.org
Date: 2023-06-14T19:51:39Z
Lists: pgsql-hackers
Hi, On 2023-06-13 16:55:12 +0900, Kyotaro Horiguchi wrote: > At Tue, 13 Jun 2023 09:55:36 +0300, Konstantin Knizhnik <knizhnik@garret.ru> wrote in > > Postgres backend is "thick" not because of large number of local > > variables. > > It is because of local caches: catalog cache, relation cache, prepared > > statements cache,... > > If they are not rewritten, then backend still may consume a lot of > > memory even if it will be thread rather then process. > > But threads simplify development of global caches, although it can be > > done with DSM. > > With the process model, that local stuff are flushed out upon > reconnection. If we switch to the thread model, we will need an > expiration mechanism for those stuff. Isn't that just doing something like MemoryContextDelete(TopMemoryContext) at the end of proc_exit() (or it's thread equivalent)? Greetings, Andres Freund