PostgreSQL:如何重置config参数?

时间:2018-01-27 08:41:16

标签: postgresql config

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

1 个答案:

答案 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()导致服务器进程重新加载它们   配置文件