set_user
set_user copied to clipboard
set_user/set_user_u only sets log_statement='all' if superuser
When using set_user or set_user_u, it appears that log_statement is only set to 'all' if the user is escalating to a superuser. Reading the documents, it appears that the intent is log_statement is always set to 'all' as long as set_user.block_log_statement is set to true/on.
Shouldn't log_statement always be set to all?
$ psql -h localhost -d hrlab -U sec_user psql (16.3 (Homebrew)) Type "help" for help.
hrlab=> show log_statement; log_statement
none (1 row)
hrlab=> select set_user_u('postgres'); set_user_u
OK (1 row)
hrlab=# show log_statement; log_statement
all (1 row)
hrlab=# select reset_user(); reset_user
OK (1 row)
hrlab=> show log_statement; log_statement
none (1 row)
hrlab=> select set_user_u('hrapp'); set_user_u
OK (1 row)
hrlab=> show log_statement; log_statement
none (1 row)
hrlab=> select reset_user(); reset_user
OK (1 row)
hrlab=> select set_user('hrapp'); set_user
OK (1 row)
hrlab=> show log_statement; log_statement
none (1 row)