Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uwkXg-006vmS-Hb for pgsql-general@arkaria.postgresql.org; Thu, 11 Sep 2025 16:53:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1uwkXe-0099bN-Qn for pgsql-general@arkaria.postgresql.org; Thu, 11 Sep 2025 16:53:03 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uwkXe-0099bF-DC for pgsql-general@lists.postgresql.org; Thu, 11 Sep 2025 16:53:02 +0000 Received: from mail-lf1-x136.google.com ([2a00:1450:4864:20::136]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uwkXa-000EFK-1S for pgsql-general@postgresql.org; Thu, 11 Sep 2025 16:53:02 +0000 Received: by mail-lf1-x136.google.com with SMTP id 2adb3069b0e04-5679dbcf9d8so889084e87.0 for ; Thu, 11 Sep 2025 09:52:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757609578; x=1758214378; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=MkifTqLsj2JNabSm3yxbph0u4JnEXzjmTM6HluMbGy0=; b=YCJjYkS/cu7FYijhZF2xxKSunJopDPxbXl+X4TjS/ap2F0G9MkFH171GlkUCS2FviR d/S7yz1TFAnpNeP6q3EDiwUzQs+X0iC/YkwZOXb4APIAZxmpEea7u6G6AMwrl0Ygmp+S hC3iqqMCmVEwhxj9/yjeCzzLD89re20Z+3a5MhmYO9U5dHpl+FFPtuYN1/ds7uxHWX7/ IwRx1OqBeQdLkMyPUIIhWPBP3zwrK2p/olmy1AiPb6UFtQqULxyzUy9KFYWXpv19/PzM 0AsGQ4glrYEvTa0vmL8itz307m34ywxuclEWwkEX3wz2Qwxum+nFvMpfJhFRJiLfPmbB m07w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757609578; x=1758214378; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MkifTqLsj2JNabSm3yxbph0u4JnEXzjmTM6HluMbGy0=; b=iKrNLdCZXTvD/GHWt9x8si6YrBxQ6C2Ex8kOVrKJzzdmaiMRzyS1NAx0qXUbliArEN WAFSS8at+xGVuB3jmKvW+xUKa63EJruYQcjXO4oCh/JVpzWVbV80lDJpGRfvyy9cTBJG 9WaPvN18yjALy6qrnTa6jRNvRp3d4Qa4/iBtu4aHX+WXRtjxls2fVNhNbuBSDlY5DxIa Zf7ZzzvW4lNESw9p/E97ryAiP1r7Gv3jbUFNujRzkBnP2/Mks2Kv8mk8L6lx9xeW+483 OwTq/Yy+UwMjj/okrLVv6K4FRYpvvUa0mapsOSqPnjNLUyykBAh5lmwdvOL9Kdg1kpFS 6dlw== X-Forwarded-Encrypted: i=1; AJvYcCUaxxB0QQvjXNE3vM0KH6Odz/OnAGw6/06Twpj1/F99mi3DM8fmHZnxSDDgt0vLIcAuxYWAsWk+hCmHiBZ6@postgresql.org X-Gm-Message-State: AOJu0YxOnKJ8Z8glmYVNLJYDDkpQvO6M9ruKhdTlhzj00Jom914D+Kd4 lAy4O97MBygubFEwkrKoHaS+WCV4Us53Wud3f2fi+DQG3Z9p2mWGxKTiwc4qp2jRAkN6tXx0tIs EosFjXC2h1T1QEqiXUQ8AinasL72y3sMjdg== X-Gm-Gg: ASbGncsYPpQMu4GI3U9j5dLIoyC2QV9tlyN+xu7EmH4qhUN3cLEHdZ1ArunL+vbD/hC Tm/sl0aG8OR33TIKm43bHX0aPFFZu0/5LBV7AbuHNMfLKK14BwEz49tqCWgtzpWvASN6pz8ru7p WCNLF+ZcNQKO5S+lJIjYPF6BOPZklW3IP84MKRUo7SN3TOS1MPZjEsLcK3zmbpQDeVMRBTCNVFK ncnh11q73IstVsuGz3VsGtCtMZlB4uD59M9lgrK4T2lUz90h2PWceUyVKrTYTsfyT8RRGGLvgvC 8F1ucOPL X-Google-Smtp-Source: AGHT+IGlguAcTdYtnHPCcGdTF5W1GTi5dgkcqPgKegh62Q2SadaDztM5zUzQnNtccXsnAP+Y8dFIv7fphMfa/Ap49lY= X-Received: by 2002:ac2:4e99:0:b0:55f:6a38:f6c0 with SMTP id 2adb3069b0e04-5705043f730mr30449e87.42.1757609577619; Thu, 11 Sep 2025 09:52:57 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Merlin Moncure Date: Thu, 11 Sep 2025 10:52:45 -0600 X-Gm-Features: AS18NWDDdG5v2FQArj7hIuxZFpcX8lmFXwmONDepEX1PhhqBr5ZX3tQ1J2FnE_4 Message-ID: Subject: Re: MVCC and all that... To: Ellen Allhatatlan Cc: Justin , pgsql-general Content-Type: multipart/alternative; boundary="0000000000008725d6063e895e63" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000008725d6063e895e63 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Sep 11, 2025 at 5:38=E2=80=AFAM Ellen Allhatatlan < ellenallhatatlan@gmail.com> wrote: > "A last aspect of our design concerns the operating system process > structure. Currently, POSTGRES runs as one process for each active > user. This was done as an expedient to get a system operational as > quickly as possible. We plan on converting POSTGRES to use lightweight > processes available in the operating systems we are using. These > include PRESTO for the Sequent Symmetry and threads in Version 4 of > Sun/OS." > Technical discussions from the 80's are more or less historically interesting only. At that time, support for threads was pretty immature relative to today, and the general state of operating system technology was pretty crude by modern standards. Process spinup via fork() might also have been much more performance relevant that it is today, and various synchronization primitives might have been pretty lousy as well. I find the threads/processes debate to be pretty silly in general. Things have changed a lot, IPC has improved a lot, and I would argue the decision to use/not use SSL is much more important to database session startup than the database spinning up a process vs a thread. The mythology around this architectural decision is pervasive and mostly incorrect IMO, and there are many high quality solutions to work around this connection poolers, pgbouncer, etc, which are essentially employed against all databases in some or another way, and are essentially universally employed in scenarios where scale and reliable performance is important. Maybe Microsoft is the odd man out here as its weird non-standard process model made porting multi process servers (including postgres) difficult and imperformant. Those issues are (mostly) long since worked out though. Having said that, I suspect 3rd party vendor support for postgres/microsoft being relatively limited would be much more based in business calculation rather than technical constraints. Final thoughts on this: firebird (fmrly interbase) did not achieve the level of success in the market that postgres, even though they may have been similarly positioned. My take: that disparity in success has more to do with postgres having a more open development model, stronger community, and (especially) timing; postgres was pretty well established in the open source world when Borland open sourced it around the year 2000. Firebird had (and has) some neat stuff, in particular a nice embedding option and strong windows support, but the market was already pretty crowded at that time. merlin --0000000000008725d6063e895e63 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Thu, Sep 11, 2025 at 5:38=E2=80=AFAM E= llen Allhatatlan <ellenall= hatatlan@gmail.com> wrote:
"A last aspect of our design concerns the operating system process
structure. Currently, POSTGRES runs as one process for each active
user. This was done as an expedient to get a system operational as
quickly as possible. We plan on converting POSTGRES to use lightweight
processes available in the operating systems we are using. These
include PRESTO for the Sequent Symmetry and threads in Version 4 of
Sun/OS."

Technical discussions fro= m the 80's are more or less historically interesting only.=C2=A0 At tha= t time, support for threads was pretty immature relative to today, and the = general state of operating system=C2=A0technology was pretty crude by moder= n standards.=C2=A0 Process spinup via fork() might also have been much more= performance relevant that it is today, and various synchronization primiti= ves might have been pretty lousy as well.

I find t= he threads/processes debate to be pretty silly in general. Things have chan= ged a lot, IPC has improved a lot, and I would argue the decision to use/no= t use SSL is much more important to database session startup than the datab= ase spinning up a process vs a thread.=C2=A0 The mythology around this arch= itectural decision is pervasive and mostly incorrect IMO, and there are man= y high quality solutions to work around this connection poolers, pgbouncer,= etc, which are essentially employed against all databases in some or anoth= er way, and are essentially universally employed in scenarios where scale a= nd reliable performance is important.

Maybe Micros= oft is the odd man out here as its weird non-standard process model made po= rting multi process servers (including postgres) difficult and imperformant= .=C2=A0 Those issues are (mostly) long since worked out though.=C2=A0
=

Having said that, I suspect 3rd party vendor support fo= r postgres/microsoft being relatively limited would be much more based in b= usiness calculation rather than technical constraints.=C2=A0

=
Final thoughts on this: firebird (fmrly interbase) did not achie= ve the level of success in the market that postgres, even though they may h= ave been similarly positioned.=C2=A0 My take: that disparity in success has= more to do with postgres having a more open development model, stronger co= mmunity, and (especially) timing; postgres was pretty well established in t= he open source world when Borland open sourced it around the year 2000.=C2= =A0 Firebird had (and has) some neat stuff, in particular=C2=A0a nice embed= ding option and strong windows support, but the market was already pretty c= rowded at that time.

merlin

--0000000000008725d6063e895e63--