Данные по архиву марта, 2016

По мотивам Dragon Age Inquisition Trespasser:

17 марта, 2016

«Надпись на листе бумаги в Скайхолде после совета:»Инквизиция распущена по причине того что некоторые соловьи мух не ловят.»»

Postgressql и read only user.

3 марта, 2016

Надо было сделать пользователя с правами только на чтение в уже существующей базе постгреса.
Казалось бы чего сложного:
Grant usage on schema schemanane to username;
Grant select on all tables in schema schemaname to username;

А теперь давайте предположим что схем там хотя бы 10, (а то и 20+, как было), делать все ручками? Можно, но печалька. Поэтому задался вопросом автоматизации и вот что получилось:

sudo -u postgres psql -d dbname -qAt -c «SELECT DISTINCT ‘GRANT USAGE ON SCHEMA ‘ || quote_ident(schemaname) || ‘ TO username;’ FROM pg_tables» | sudo -u postgres psql -d dbname

sudo -u postgres psql -d dbname -qAt -c «SELECT DISTINCT ‘GRANT SELECT ON ‘ || ‘ ALL TABLES IN SCHEMA ‘ || quote_ident(schemaname) || ‘ TO username;’ FROM pg_tables» | sudo -u postgres psql -d dbname