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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值