我在Postgres有多个用户。我想为不同的用户设置不同的语句超时。
客人5分钟,行政10分钟。
在Postgres 11.11有可能吗?
发布于 2021-04-29 11:37:02
是的,Postgres允许每个用户甚至每个数据库和用户设置,包括statement_timeout:
ALTER ROLE foo SET statement_timeout = 12345; -- milliseconds相关信息:
若要查看会话的当前活动设置,请执行以下操作:
SHOW statement_timeout;或者从视图pg_settings获得更多详细信息(包括如何设置它):
SELECT *
FROM pg_settings
WHERE name = 'statement_timeout';若要检查角色的当前设置:
SELECT rolname, rolconfig
FROM pg_roles
WHERE rolname = 'foo';rolconfig是一个数组,取消嵌套以获得每一行的一个设置:
SELECT rolname, unnest(rolconfig) AS setting
FROM pg_roles
WHERE rolname = 'foo';发布于 2021-04-29 11:36:50
发现我们可以在角色上设置超时。
ALTER ROLE guest SET statement_timeout='5min';
ALTER ROLE admin SET statement_timeout='10min';https://dba.stackexchange.com/questions/290714
复制相似问题