pg 參數生效順序

有如下配置場景:
postgresql.conf 中 work_mem = 4MB
用戶 a 執行如下語句:"alter system set work_mem = '5MB';","select pg_reload_conf();" 用戶 b 執行如下語句:"alter role all set work_mem = '6MB'","set work_mem = '7MB';" 則在用戶 a、用戶 b 窗口下的 work_mem 分別爲:( )
A. 5MB,5MB     B. 6MB,7MB       C. 5MB,7MB     D. 4MB,6MB

 

 

  • 配置文件(postgresql.conf) ,
  •  
  • alter system(postgresql.auto.conf) ,
  •  
  • 命令行(postgres -o, pg_ctl -o) ,
  •  
  • 所有用戶(alter role all set) ,
  •  
  • 數據庫(alter database xxx set) ,
  •  
  • 用戶(alter role 用戶名 set) ,
  •  
  • 會話(set xxx) ,
  •  
  • 事務(set local xxx;) ,
  •  
  • 函數(create or replace function .... set par=val;) ,
  •  

session1:

postgres=# alter system set work_mem='5MB';
ALTER SYSTEM
postgres=# show work_mem;
 work_mem 
----------
 4MB
(1 row)

postgres=# SELECT pg_reload_conf();
 pg_reload_conf 
----------------
 t
(1 row)

postgres=# show work_mem;
 work_mem 
----------
 5MB
(1 row)
 

 

session2:

postgres=# show work_mem;
 work_mem 
----------
 4MB
(1 row)

postgres=# show work_mem;
 work_mem 
----------
 5MB
(1 row)

postgres=# alter role all set work_mem = '6MB';
ALTER ROLE
postgres=# show work_mem;
 work_mem 
----------
 5MB
(1 row)


postgres=# set work_mem = '7MB';
SET
postgres=# show work_mem;
 work_mem 
----------
 7MB
(1 row)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章