PostgreSQL:如何重置配置参数?

Ole*_*leg 5 postgresql config

postgresql.config:log_min_duration_statement = -1

客户甲:

SELECT set_config('log_min_duration_statement', '30000', false);
SELECT current_setting('log_min_duration_statement');
-----
30s
Run Code Online (Sandbox Code Playgroud)

客户B:

SELECT current_setting('log_min_duration_statement');
-----
-1
Run Code Online (Sandbox Code Playgroud)

客户端B更改postgresql.config:log_min_duration_statement = 60000

select pg_reload_conf();
SELECT current_setting('log_min_duration_statement');
---
1 min
Run Code Online (Sandbox Code Playgroud)

===

好的,客户端 A 如何重置其设置并使用 postgresql.config 文件中的当前参数值而不关闭连接?即客户端A这样做

select pg_reload_conf(); 
Run Code Online (Sandbox Code Playgroud)

但他仍然有之前设定的30多岁

Vao*_*sun 3

https://www.postgresql.org/docs/current/static/sql-reset.html

\n\n
\n

RESET \xe2\x80\x94 将运行时参数的值恢复为默认值

\n
\n\n

只是

\n\n
reset log_min_duration_statement\n
Run Code Online (Sandbox Code Playgroud)\n\n

还有https://www.postgresql.org/docs/current/static/functions-admin.html

\n\n
\n

set_config将参数setting_name 设置为new_value。如果 is_local\n 为 true,则新值将仅适用于当前事务。如果\n您希望新值应用于当前会话,请改用 false\n。该功能对应于SQL命令SET。

\n
\n\n

换句话说你不需要pg_reload_config()- 因为您仅更改会话级别的设置。修改 ponstgres.conf 后才需要重新加载

\n\n

与上面相同的链接:

\n\n
\n

pg_reload_conf() 导致服务器进程重新加载其配置文件\n

\n
\n