Как изменить роль для многих ролей? - PullRequest
0 голосов
/ 12 октября 2018

У меня есть около 400 ролей в Postgres, которые я хочу изменить.Я могу выполнить следующую команду 400 раз, но мне было интересно, есть ли какой-нибудь лучший способ.

ALTER ROLE foo CONNECTION LIMIT 4;

Что-то вроде

UPDATE roles SET connection_limit = 4 WHERE connection_limit = 2;

1 Ответ

0 голосов
/ 12 октября 2018

Вы должны использовать psql и его малоизвестную функциональность \gexec:

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

, которая будет запускать запрос и выполнять каждую строку результата как команду SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...