postgresql.config: log_min_duration_statement = -1
客户A:
SELECT set_config('log_min_duration_statement', '30000', false);
SELECT current_setting('log_min_duration_statement');
-----
30s
客户B:
SELECT current_setting('log_min_duration_statement');
-----
-1
客户端B更改postgresql.config: log_min_duration_statement = 60000
select pg_reload_conf();
SELECT current_setting('log_min_duration_statement');
---
1 min
===
确定, 客户端A如何重置其设置并使用postgresql.config文件中的当前参数值而不关闭连接? 即客户A做了
select pg_reload_conf();
但他仍然有一个先前设定的30s
答案 0 :(得分:1)
https://www.postgresql.org/docs/current/static/sql-reset.html
RESET - 将运行时参数的值恢复为默认值
只是
reset log_min_duration_statement
也https://www.postgresql.org/docs/current/static/functions-admin.html
set_config
将参数setting_name设置为new_value。如果是is_local 如果是这样,新值将仅适用于当前事务。如果 您希望新值应用于当前会话,请使用false 代替。该函数对应于SQL命令SET。
换句话说,您不需要pg_reload_config()
- 因为您只更改了会话级别的设置。你需要在修改ponstgres.conf之后重新加载
上面的相同链接:
pg_reload_conf()
导致服务器进程重新加载它们 配置文件