有如下配置场景:
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)