Re: Does PostgreSQL cache all columns of a table after SELECT?
Tim Schwenke <tim@trallnag.com>
From: Tim Schwenke <tim@trallnag.com>
To: "David G. Johnston" <david.g.johnston@gmail.com>
Cc: "Pgsql Novice" <pgsql-novice@lists.postgresql.org>
Date: 2023-06-05T13:17:17Z
Lists: pgsql-novice
Hello David, from what I understand, in PostgreSQL, tables are stored in one or more files called segments. There is no separation by columns. https://www.postgresql.org/docs/8.1/storage.html This means if I select a single column from a table the first time, the full file / segment is read and put into page cache if there is enough space. This means a table with only one large column large_a takes up less page cache compared to a table with many large columns large_a and large_b, even though in both cases only large_a is selected. Is that more or less correct? Ignoring toast? Tim S. ---- On Mon, 05 Jun 2023 14:58:21 +0200 David G. Johnston wrote --- > > > On Monday, June 5, 2023, Tim Schwenke tim@trallnag.com> wrote: > > > Does the cache also contain large_b? Or is only large_a cached? Assumption is that memory is large enough to fit everything. > > > Shared buffers is a page cache. > > David J. >