一、作用
工作负载管理主要是为了限制查询的数量,避免内存、CPU、I/O之类的系统资源耗尽。通过基于角色的资源队列来实现的。(为啥一定是role-based呢?)
二、实现方式
1.配置文件Postgresql.conf中相应的参数修改
max_resource_queues- Sets the maximum number of resource queues.
• max_resource_portals_per_transaction- Sets the maximum number of
simultaneously open cursors allowed per transaction. Note that an open cursor
will hold an active query slot in a resource queue.
• resource_select_only- If set to on, then SELECT, SELECT INTO, CREATE
TABLE AS SELECT, and DECLARE CURSORcommands are evaluated. If set to
off INSERT, UPDATE, and DELETEcommands will be evaluated as well.
• resource_cleanup_gangs_on_wait- Cleans up idle processes before taking a
slot in the resource queue.
• stats_queue_level- Enables statistics collection on resource queue usage,
which can then be viewed by querying the pg_stat_resqueuessystem view
2.创建资源队列语法