On Wed, May 15, 2024 at 10:13 AM David Rowley <dgrowleyml@gmail.com> wrote:
>
> On Wed, 15 May 2024 at 13:44, jian he <jian.universality@gmail.com> wrote:
> > "Shared Hit Blocks": 0,
> > "Shared Read Blocks": 0,
> > "Shared Dirtied Blocks": 0,
> > "Shared Written Blocks": 0,
> > "Local Hit Blocks": 0,
> > "Local Read Blocks": 0,
> > "Local Dirtied Blocks": 0,
> > "Local Written Blocks": 0,
> > "Temp Read Blocks": 0,
> > "Temp Written Blocks": 0
> >
> > these information duplicated for json key "Serialization" and json key
> > "Planning"
> > i am not sure this is intended?
>
> Looks ok to me. Buffers used during planning are independent from the
> buffers used when outputting rows to the client.
>
looking at serializeAnalyzeReceive.
I am not sure which part of serializeAnalyzeReceive will update pgBufferUsage.
I am looking for an example where this information under json key
"Serialization" is not zero.
So far I have tried:
create table s(a text);
insert into s select repeat('a', 1024) from generate_series(1,1024);
explain (format json, analyze, wal, buffers, memory, serialize, timing
off) select * from s;