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 1uxFTg-00CPd8-UE for pgsql-general@arkaria.postgresql.org; Sat, 13 Sep 2025 01:55:01 +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 1uxFTe-004tag-Q4 for pgsql-general@arkaria.postgresql.org; Sat, 13 Sep 2025 01:54:59 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uxFTe-004taX-Bs for pgsql-general@lists.postgresql.org; Sat, 13 Sep 2025 01:54:59 +0000 Received: from mail-ed1-x534.google.com ([2a00:1450:4864:20::534]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uxFTd-0007yk-0K for pgsql-general@postgresql.org; Sat, 13 Sep 2025 01:54:58 +0000 Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-627b85e4c0fso4054276a12.1 for ; Fri, 12 Sep 2025 18:54:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757728496; x=1758333296; 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=YTYEz6/zJDFMu6j96SLEYfU8fhv7r++7b80313YYRlI=; b=Vh02K1cVQud60kfNq/OohbWHUljDN9U6wtYw0PMzl7PQ6E8GQSfgI6PyvuGvSEh9rj /E6ysYVyFhBm66hLyprWYwq1W4QW2wErea1CAeEU3r/nUvnwJH8OCN8x6/Ol5Xo1NkGw egGc+FOBMPXdpKOBi+RTQScx+IDvsuKo46lvGcGDD9BF97+ewBT1RXGvnQJW//cPsDm5 aEyhdk3KfGomvKITG0erppi7Wesp1OTM0SatFv8lu/0R6P4bAt/Ed/+73j/BS3P4lqsv lukS6fUR60Nd7btolocYEXNP/idGNsLNEN0Axtl+yp3bwC++So7wRsChna00Wk/3WLr4 Gotw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757728496; x=1758333296; 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=YTYEz6/zJDFMu6j96SLEYfU8fhv7r++7b80313YYRlI=; b=aH6EMBqNMhCDz40ekRHaLX+I8CHZACs+SZ18I7oTGLpzefjcFdJS9RUU/1OlmIfBB8 KvYRxR/jPpz2CTdK0uMDjpLiMXrJ/FyFV7ZHE4/d3Ypoy3nvmEc4bU6v37ogYyxQv0EB ThCFa3MAUtqDx8/kMrvAfHe11/SvJ06wJjfpcCPEdSNdSNVGdXKFQXp8vLYwpLDdKOz9 ORMHR7auwkCt2UKwmoHYuQDxMeUumOM4ibdQWx3rHur4OUE/cT/dolNzzucuPkCIf20R LfrvNJhsKyNkHv0MHwYq+g91UV/1BLT7T2AlMHwKJVZSmBX9QSOJ+Jc1x+DBcW30u2+r jsgg== X-Forwarded-Encrypted: i=1; AJvYcCUFUfc70QzPMPMmbW50KRulzMN/lfvNCB4J4PJzCmanvbvQOuFfNcJlT2hykdDEiGdNXq4jFJR006iBTZx/@postgresql.org X-Gm-Message-State: AOJu0Yy7jAXIhsNqaQNjf9PCCRS2qTEfePJ1fC0jg3sZA5ZaT34DDSKo JOvXWgQXHkPysdp1I6pOYsO6fYvkLYns08kxplvBlMv54r+ZFC3QsZ5MmRmkTfc4YYEnM5Sxd2V VIHK6D0aVjTFsfElZJLEcW9v3P0GwkBY= X-Gm-Gg: ASbGnctU+ngUvBi/d7DGM0snnj11V8r8tUH/pJeXvhwgBkLuZb4Xg+i+/9DAX6iUYC5 7GpqS5a54fue/x0bCiyBG0NyNITC9c50qTR3hJ7Olo1xc6Nn9PcK6zpZj8XlrVIcrdzlZzXjQuC BJeuBMG+wBtKKJtPVCeq7hXWbQztG8VbBNmrGPNZapWFdTQeY5RyxQnHNn0FtJrn1w3mZZ07r+K 35BPWrPVLVCHSD4ciU0 X-Google-Smtp-Source: AGHT+IEjEzpmycbfkXHx1aP3Kk300EYwOhEXrkt0PcTpI5kxi1cvOeDXf0t77971Uv2oyOuxMk7DTG0pADzjDBYktjo= X-Received: by 2002:a50:f605:0:b0:61c:c9f0:643b with SMTP id 4fb4d7f45d1cf-62e7532be3bmr5871347a12.0.1757728495829; Fri, 12 Sep 2025 18:54:55 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Justin Date: Fri, 12 Sep 2025 21:54:44 -0400 X-Gm-Features: AS18NWABHwKLVWKCQzG9rJImV6QtIuNp7nvjWH0MRlHYLVHcoEo-s8IVzQA7Vy4 Message-ID: Subject: Re: MVCC and all that... To: Ellen Allhatatlan Cc: Merlin Moncure , pgsql-general Content-Type: multipart/alternative; boundary="0000000000009b07fb063ea50e51" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000009b07fb063ea50e51 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Sep 12, 2025 at 3:18=E2=80=AFPM Ellen Allhatatlan < ellenallhatatlan@gmail.com> wrote: > You, (Merlin Moncure) said: > > > Technical discussions from the 80's are more or less historically > interesting only. > > I agree with your technical points - and the fact that I brought up > "history". > > I was replying to Justin in this context: > > I wrote: > > > AIUI, Michael Stonebraker suggested that the process model > > would/should be "upgraded" to a threaded one at some point in the > > system's developement? > > To which Justin replied: > > > I am going to need a source on this. Process vs Threads: pro and cons > are very well documented and proven today. > > Hence the history lesson - to provide the "source" from Michael Stonebrak= er > > > Thank you for the documents. The reason PostgreSQL was not developed using threads was that it was not technically feasible at the time. The entire idea of PostgreSQL was experimental. One of the things you want to do is test out as many ideas as you can feasibly do . Jump forward 20-40 years into the future, what have we learned, What was thought would be a clear advantage for threads has been shown not to be a clear advantage. Each approach has pluses and minuses. I agree with many others that the time spent trying to get threads to work in PostgreSQL is just not worth it when we should be spending our time other issues moving XID to 64 bit and moving away from the current file format and stop storing row versions in the tables, would pay far more dividends in performance than threading will... The append only storage design aka Storing row versions in the table is a Stonebraker idea, which would allow for Time-Travel Queries, I am pretty sure this proved to be unworkable. PostgreSQL table layout and MVCC being tracked in the tables has been shown to be problematic and a performance bottleneck . Just look at all the time the community has spent making AutoVacuum better and all the IO spent keeping the XID from wrapping around, or HOT updates or the FILL FACTOR setting. The question I should have asked is what is Stonebraker's current thought on process vs threading today. Thank you Justin --0000000000009b07fb063ea50e51 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

On Fri, = Sep 12, 2025 at 3:18=E2=80=AFPM Ellen Allhatatlan <ellenallhatatlan@gmail.com> wrote:
You, (Merlin Moncure) sa= id:

> Technical discussions from the 80's are more or less historically = interesting only.

I agree with your technical points - and the fact that I brought up "h= istory".

I was replying to Justin in this context:

I wrote:

> AIUI, Michael Stonebraker suggested that the process model
> would/should be "upgraded" to a threaded one at some point i= n the
> system's developement?

To which Justin replied:

> I am going to need a source on this.=C2=A0 Process vs Threads: pro and= cons are very well documented and proven today.

Hence the history lesson - to provide the "source" from Michael S= tonebraker


Thank you for the documents.

The reason Postgre= SQL was not developed using threads was that it was not technically feasibl= e at the time.=C2=A0 The entire idea of PostgreSQL was experimental.=C2=A0 = One of the things you want to do is test out as many ideas as you can feasi= bly=C2=A0do .

Jump forward=C2=A020-40 years into the future, what ha= ve we learned,=C2=A0 What was thought would be a clear advantage for thread= s has been shown not to be a clear advantage.

Each appro= ach has pluses and minuses. I agree with many=C2=A0others that the time spe= nt trying to get threads to work in PostgreSQL is just not worth it when we= should be spending our time other issues

moving XID to 64 bit and m= oving away from the current file format and stop storing=C2=A0 row versions= in the tables,=C2=A0 would pay far more dividends in performance than thre= ading will...

The=C2=A0append only storage design=C2=A0 aka Storing = row versions in the table is a Stonebraker idea,=C2=A0 which would allow fo= r Time-Travel Queries, I am pretty sure this proved to be unworkable.=C2=A0=

PostgreSQL table layout and MVCC being tracked in= the tables has been shown to be problematic and a performance bottleneck .= =C2=A0 Just look at all the time the community has spent making AutoVacuum = better and all the IO spent keeping the XID from wrapping around, or HOT up= dates or the FILL FACTOR setting.=C2=A0 =C2=A0=C2=A0

The = question I should have asked is what is Stonebraker's current thought o= n process vs threading today.=C2=A0

Thank you
Justin=C2=A0
=
--0000000000009b07fb063ea50e51--