Preciso Listar as permissões dos usuários de uma forma que todas apareçam em uma unica coluna (attributes)
Meu select esta assim:
select rolname as "Name", oid as "Role id",
CASE WHEN rolsuper OR rolinherit OR rolcreatedb OR rolcanlogin OR rolreplication THEN CAST ('SuperRole, Role Inherit, Create Database, Can Login, Can Replicate' as pg_catalog.text)
ELSE CAST ('' as pg_catalog.text)
END AS "attributes"
FROM pg_catalog.pg_roles;
Resultado:
Name | Role id | attributes
-------------------+---------+-------------+--------------------------------------------------------------------
pg_signal_backend | 4200 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
postgres | 10 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
admin | 24641 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
administrador | 24643 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
teste2 | 24653 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
teste3 | 24670 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
teste4 | 24671 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
Porem esta trazendo os mesmo atributos para todos os usuários, independe de suas permissões serem diferentes. Acredito que seja pelo operador 'OR', porem com 'AND' também não funciona.
Preciso listar apenas as permissões que cada usuário tem, na coluna attributes.
Algo parecido com:
Name | Role id | attributes
-------------------+---------+-------------+--------------------------------------------------------------------
pg_signal_backend | 4200 | Can Login
postgres | 10 | SuperRole, Create Database, Can Login, Can Replicate
admin | 24641 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
administrador | 24643 | SuperRole, Create Database, Can Login, Can Replicate
teste2 | 24653 | , Role Inherit, Can Login, Can Replicate
teste3 | 24670 | Create Database, Can Login
teste4 | 24671 | Role Inherit, Can Login
Pergunta
rodrigolss
Preciso Listar as permissões dos usuários de uma forma que todas apareçam em uma unica coluna (attributes)
Meu select esta assim:
select rolname as "Name", oid as "Role id",
CASE WHEN rolsuper OR rolinherit OR rolcreatedb OR rolcanlogin OR rolreplication THEN CAST ('SuperRole, Role Inherit, Create Database, Can Login, Can Replicate' as pg_catalog.text)
ELSE CAST ('' as pg_catalog.text)
END AS "attributes"
FROM pg_catalog.pg_roles;
Resultado:
Name | Role id | attributes
-------------------+---------+-------------+--------------------------------------------------------------------
pg_signal_backend | 4200 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
postgres | 10 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
admin | 24641 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
administrador | 24643 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
teste2 | 24653 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
teste3 | 24670 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
teste4 | 24671 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
Porem esta trazendo os mesmo atributos para todos os usuários, independe de suas permissões serem diferentes. Acredito que seja pelo operador 'OR', porem com 'AND' também não funciona.
Preciso listar apenas as permissões que cada usuário tem, na coluna attributes.
Algo parecido com:
Name | Role id | attributes
-------------------+---------+-------------+--------------------------------------------------------------------
pg_signal_backend | 4200 | Can Login
postgres | 10 | SuperRole, Create Database, Can Login, Can Replicate
admin | 24641 | SuperRole, Role Inherit, Create Database, Can Login, Can Replicate
administrador | 24643 | SuperRole, Create Database, Can Login, Can Replicate
teste2 | 24653 | , Role Inherit, Can Login, Can Replicate
teste3 | 24670 | Create Database, Can Login
teste4 | 24671 | Role Inherit, Can Login
se alguém puder me ajudar, agradeço
Abraço!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.