Hi,
With commit 32d3ed81, pg_backend_memory_contexts view will start
numbering memory context levels from 1 instead of 0 in PostgreSQL 18.
For example:
=# select name, level from pg_backend_memory_contexts;
name | level
----------------------------+-------
TopMemoryContext | 1
Record information cache | 2
Btree proof lookup cache | 2
However, pg_log_backend_memory_contexts() still starts its output from
level 0:
=# select pg_log_backend_memory_contexts(pg_backend_pid());
LOG: level: 0; TopMemoryContext: ...
LOG: level: 1; Record information cache: ...
LOG: level: 1; Btree proof lookup cache: ...
I understand that these view and function are intended primarily for
one-off diagnostics and not for direct cross-comparison. So this
discrepancy isn’t critical.
However, for the sake of consistency and to avoid potential confusion,
would it make sense to also start the levels from 1 in
pg_log_backend_memory_contexts() starting in v18?
--
Regards,
--
Atsushi Torikoshi
Seconded from NTT DATA GROUP CORPORATION to SRA OSS K.K.