
3 表示资源队列中,允许同时执行的SQL。
4 (注意当QUERY的成本低于min_cost时,不需要排队,直接运行。)
5 2PRIORITY={MINLOWMEDIUMHIGHMAX}
6 #指当前资源队列的优先级,当资源紧张时,优先将CPU资源分配给高优先级的资源队列。
7 #(处于高优先级的资源队列中的SQL,可以获得更高优先级的CPU资源)。
8 #建议将实时性要求高的查询对应的用户分配到高优先级的资源队列中。
9 3Memory_limit'memory_unitskB,MBorGB'
10 #设置资源队列中所有SQL允许的最大内存使用量。‐1不限
11 #(但是受前面提到的数据库或系统参数限制,触发OOM错误)
12 4min_costfloat
13 #(资源超限时,是需要排队的)但是,当QUERY的成本低于min_cost时,
14 #不需要排队,直接运行。(也就是说小查询,就让他跑吧。
15 5max_costfloat
16 #设置浮点或指数((forexample100.0),(forexample1e+2)),‐1不限制
17 #表示资源组允许同时执行的QUERY加起来的COST上限。
18 #COST是SQL执行计划中的总成本。
19 6、COST_OVERCOMMITboolean,
20 #当系统空闲时,是否允许(TRUE)超过max_cost的限制。
1 createresourcequeuemyqueuewith(max_cost=10000.0);
1 ALTERRESOURCEQUEUEmyqueueWITH(MAX_COST=‐1.0,MIN_COST=‐1.0);
1 alterroleskateresourcequeuemyqueue.
4、如果某个资源策略已经授予给了用户,则他不能被删除。
1 alterroleskateresourcequeuenone。解除用户skate的资源策略。
1 postgres=#select*frompg_resqueue_attributes;
2 rsqname|resname|ressetting|restypid
3 ‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐
4 pg_default|active_statements|20|1
5 pg_default|max_cost|‐1|2
6 pg_default|min_cost|0|3
7 pg_default|cost_overcommit|0|4
8 pg_default|priority|medium|5
9 pg_default|memory_limit|‐1|6
GPDB默认的资源队列为pg_default,如果不创建队列,那么所有的用户都
会被指定给pg_default。这是非常不建议的。
评论