Align memory context level numbering in pg_log_backend_memory_contexts()
torikoshia <torikoshia@oss.nttdata.com>
From: torikoshia <torikoshia@oss.nttdata.com>
To: pgsql-hackers@postgresql.org
Date: 2025-04-15T13:23:34Z
Lists: pgsql-hackers
Attachments
- v1-0001-Increment-level-in-pg_log_backend_memory_contexts.patch (text/x-diff) patch v1-0001
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.
Commits
-
doc: Fix memory context level in pg_log_backend_memory_contexts() example.
- 706cbed35103 18.0 landed
-
Make levels 1-based in pg_log_backend_memory_contexts()
- d9e03864b6b4 18.0 landed
-
Add path column to pg_backend_memory_contexts view
- 32d3ed8165f8 18.0 cited