LINUX.ORG.RU
решено ФорумAdmin

psql как отфильтровать Access privileges по конкретному юзеру?

 


0

2

Обычная postgresql БД, пяток ролей на базу. С помощью \dp смотрю сводную информацию по «Access privileges». Как-то возможно отфильтровать вывод по конкретному юзеру? В всмысле, посмотреть на права доступа на всех таблицах и увидеть разрешения конкретному юзеру.

★★★★★

Можешь посмотреть, какой точно запрос посылается через psql -e и в нём добавить сортировку.

AnDoR ★★★★★
()
Последнее исправление: AnDoR (всего исправлений: 1)
Ответ на: комментарий от AnDoR

Можешь посмотреть, какой точно запрос посылается через psql -e и в нём добавить сортировку.

не понял (( Я подключаюсь к БД из консоли с помощью утилиты psql. Далее, в консоли постгреса, выполняю \dp
Что такое psql -e ?

targitaj ★★★★★
() автор топика
Ответ на: комментарий от targitaj
base_name=# \dp
********* QUERY **********
SELECT n.nspname as "Schema",
  c.relname as "Name",
  CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'foreign table' END as "Type",
  pg_catalog.array_to_string(c.relacl, E'\n') AS "Access privileges",
  pg_catalog.array_to_string(ARRAY(
    SELECT attname || E':\n  ' || pg_catalog.array_to_string(attacl, E'\n  ')
    FROM pg_catalog.pg_attribute a
    WHERE attrelid = c.oid AND NOT attisdropped AND attacl IS NOT NULL
  ), E'\n') AS "Column access privileges"
FROM pg_catalog.pg_class c
     LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r', 'v', 'm', 'S', 'f')
  AND n.nspname !~ '^pg_' AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY 1, 2;
**************************

ипонский городовой...

targitaj ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.