pg參數(shù)優(yōu)先級
pg修改參數(shù)方式很多
配置文件,alter system,命令行,用戶,數(shù)據(jù)庫,所有用戶,會話,事務,函數(shù),表層面進行配置
下面為參數(shù)優(yōu)先級,由低到高
1. postgresql.conf
work_mem = 4MB
2. postgresql.custom.conf
用戶自定義參數(shù)文件,寫在 postgresql.conf 末尾
include_if_exists 'postgresql.custom.conf'
work_mem = 5MB
3. postgresql.auto.conf
alter system set work_mem='6MB'
4. command line options
pg_ctl restart -o "-c work_mem='7MB'"
5. all role
alter role all set work_mem='8MB';
6. database
alter database testdb set work_mem='9MB';
7. role
alter role postgres set work_mem='10MB';
8. session
set work_mem='11MB';
9. 事務
begin;
set local work_mem='12MB';
10. function(函數(shù)內(nèi)有效,函數(shù)結(jié)束,使用其他最高優(yōu)先值)
create or replace function f_test() returns void as $$
declare
res text;
begin
show work_mem into res;
raise notice '%', res;
end;
$$ language plpgsql strict set work_mem='13MB';
11. table
autovacuum_enabled
所以,一般來說,pg的參數(shù)配置方式有很多
- 1.配置文件(postgresql.conf)
- 2.自定義配置文件(postgresql.custom.conf)
- 3.alter system(postgresql.auto.conf)
- 4.命令行(postgres -o, pg_ctl -o)
- 5.所有用戶(alter role all set)
- 6.數(shù)據(jù)庫(alter database xxx set)
- 7.用戶(alter role 用戶名 set)
- 8.會話(set xxx)
- 9.事務(set local xxx;)
- 10.函數(shù)(create or replace function .... set par=val;)
- 11.表(表級垃圾回收相關(guān)參數(shù))