Ir para conteúdo
Fórum Script Brasil
  • 0

Listar permissões de usuário em uma unica coluna


rodrigolss

Pergunta

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

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...