如何更改许多角色的角色?

时间:2018-10-12 04:47:14

标签: postgresql

我在Postgres中有大约400个要修改的角色。我可以运行以下命令400次,但我想知道是否还有更好的方法。

ALTER ROLE foo CONNECTION LIMIT 4;

类似的东西

UPDATE roles SET connection_limit = 4 WHERE connection_limit = 2;

1 个答案:

答案 0 :(得分:3)

您应该使用psql及其鲜为人知的\gexec功能:

SELECT format('ALTER ROLE %I CONNECTION LIMIT 4', rolname)
FROM pg_catalog.pg_roles
WHERE rolconnlimit = 2\gexec

这将运行查询并以SQL命令的形式执行每个结果字符串。