Prevent memory context logging from sending log message to connected client.
commit108505d763d12bc2d9d21697f57c331963aa12d1
authorFujii Masao <fujii@postgresql.org>
Fri, 28 Jan 2022 02:24:42 +0000 (28 11:24 +0900)
committerFujii Masao <fujii@postgresql.org>
Fri, 28 Jan 2022 02:24:42 +0000 (28 11:24 +0900)
tree68bcbbbfbd158d4869853d4d02c3cf9f09ca8ff1
parent7340aceed72b522bfcbba70520b4c2435c35d2ba
Prevent memory context logging from sending log message to connected client.

When pg_log_backend_memory_contexts() is executed, the target backend
should use LOG_SERVER_ONLY to log its memory contexts, to prevent them
from being sent to its connected client regardless of client_min_messages.
But previously the backend unexpectedly used LOG to log the message
"logging memory contexts of PID %d" and it could be sent to the client.
This is a bug in memory context logging.

To fix the bug, this commit changes that message so that it's logged with
LOG_SERVER_ONLY.

Back-patch to v14 where pg_log_backend_memory_contexts() was added.

Author: Fujii Masao
Reviewed-by: Bharath Rupireddy, Atsushi Torikoshi
Discussion: https://postgr.es/m/82c12f36-86f7-5e72-79af-7f5c37f6cad7@oss.nttdata.com
src/backend/utils/mmgr/mcxt.c