pgsql: Add EXPLAIN (MEMORY) to report planner memory consumption
От | Alvaro Herrera |
---|---|
Тема | pgsql: Add EXPLAIN (MEMORY) to report planner memory consumption |
Дата | |
Msg-id | E1rUUut-003iEY-FZ@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Add EXPLAIN (MEMORY) to report planner memory consumption This adds a new "Memory:" line under the "Planning:" group (which currently only has "Buffers:") when the MEMORY option is specified. In order to make the reporting reasonably accurate, we create a separate memory context for planner activities, to be used only when this option is given. The total amount of memory allocated by that context is reported as "allocated"; we subtract memory in the context's freelists from that and report that result as "used". We use MemoryContextStatsInternal() to obtain the quantities. The code structure to show buffer usage during planning was not in amazing shape, so I (Álvaro) modified the patch a bit to clean that up in passing. Author: Ashutosh Bapat Reviewed-by: David Rowley, Andrey Lepikhov, Jian He, Andy Fan Discussion: https://www.postgresql.org/message-id/CAExHW5sZA=5LJ_ZPpRO-w09ck8z9p7eaYAqq3Ks9GDfhrxeWBw@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/5de890e3610d5a12cdaea36413d967cf5c544e20 Modified Files -------------- contrib/auto_explain/auto_explain.c | 2 + doc/src/sgml/ref/explain.sgml | 14 ++++ src/backend/commands/explain.c | 152 ++++++++++++++++++++++++++++------ src/backend/commands/prepare.c | 22 ++++- src/backend/utils/mmgr/mcxt.c | 13 +++ src/include/commands/explain.h | 4 +- src/include/utils/memutils.h | 2 + src/test/regress/expected/explain.out | 76 +++++++++++++++++ src/test/regress/sql/explain.sql | 8 ++ 9 files changed, 265 insertions(+), 28 deletions(-)
В списке pgsql-committers по дате отправления: