On 2022/01/26 14:27, Bharath Rupireddy wrote:
> On Wed, Jan 26, 2022 at 10:46 AM Bharath Rupireddy
> <bharath.rupireddyforpostgres@gmail.com> wrote:
>>
>> On Wed, Jan 26, 2022 at 9:48 AM Fujii Masao <masao.fujii@oss.nttdata.com> wrote:
>>>
>>> Hi,
>>>
>>> pg_log_backend_memory_contexts() should be designed not to send the messages about the memory contexts to the
clientregardless of client_min_messages. But I found that the message "logging memory contexts of PID %d" can be sent
tothe client because it's ereport()'d with LOG level instead of LOG_SERVER_ONLY. Is this a bug, and shouldn't we use
LOG_SERVER_ONLYlevel to log that message? Patch attached.
>>
>> +1. The patch LGTM.
Thanks for the review!
> While we are here, I think it's enough to have the
> has_function_privilege, not needed to set role regress_log_memory and
> then execute the function as we already have code covering the
> function above (SELECT
> pg_log_backend_memory_contexts(pg_backend_pid());). Thought?
>
> SELECT has_function_privilege('regress_log_memory',
> 'pg_log_backend_memory_contexts(integer)', 'EXECUTE'); -- yes
>
> SET ROLE regress_log_memory;
> SELECT pg_log_backend_memory_contexts(pg_backend_pid());
> RESET ROLE;
Or it's enough to set role and execute the function? Either those or has_function_privilege() can be removed from the
test,but I don't have strong reason to do that for now...
Regards,
--
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION