ALTER USER SET RESOURCE GROUP reference
Resource groups isolate competing query workloads inside a single QuestDB instance.
ALTER USER ... SET RESOURCE GROUP places the user's queries under a
resource group, which governs their
admission, CPU share and memory budget.
Syntax
ALTER USER userName SET RESOURCE GROUP resourceGroupName;
Description
A direct mapping on the user beats any mapping it would inherit from an ACL group, whatever that group's priority. That is how you make one person an exception without touching the groups.
MAPPING PRIORITY is not accepted here, because a user has exactly one
direct mapping and there is nothing to break a tie between. It belongs to
ALTER GROUP SET RESOURCE GROUP.
The statement requires the
RESOURCE GROUP ADMIN permission, and affects
queries that start after the change rather than one already running.
The mapping decides the group the user's sessions start in. A session can still
run its queries in another group with
SET RESOURCE GROUP, or an HTTP
request with the resource_group parameter, if the user holds
USE RESOURCE GROUP on it. The mapped group needs no such grant.
Examples
ALTER USER john SET RESOURCE GROUP reporting;
Verify with SHOW USERS, which reports the
direct mapping in its resource_group column:
SELECT name, resource_group FROM (SHOW USERS);
| name | resource_group |
|---|---|
| admin | null |
| john | reporting |
To see the group a session actually resolved to, which may come from an ACL
group rather than a direct mapping, use
current_resource_group().