"=?UTF-8?B?6YKx5a6H6IiqKOeDm+i/nCk=?=" <yuhang.qyh@alibaba-inc.com> writes:
> Fork is an expensive operation[1].
Yeah, it's not hugely cheap.
> So I propose to remove shared buffers from postmaster and shmat them
> after fork.
This proposal seems moderately insane. In the first place, it
introduces failure modes we could do without, and in the second place,
how is it not strictly *more* expensive than what happens now? You
still have to end up with all those TLB entries mapped in the child.
(If your kernel is unable to pass down shared-memory TLBs effectively,
ISTM that's a kernel shortcoming not a Postgres architectural problem.)
regards, tom lane