isso não funciona
CREATE ROLE "role-one" LOGIN;
CREATE ROLE "other_role" LOGIN WITH "role-one";
eu recebo este erro
ERROR: unrecognized role option "role-one"
LINE 1: CREATE ROLE "other_role" WITH "role-one";
O que estou fazendo de errado? Não consigo encontrar exemplos online que deixem claro para mim qual é a sintaxe. Pelo que vi deve funcionar.
Como faço para criar uma nova função com LOGIN e adicioná-la a outra função chamada role-one?
Porque você usa uma sintaxe errada. Vou citar o manual :
(Pulei partes desinteressantes).
Portanto, a sintaxe correta seria:
other_role
ser um membro derole-one
:role-one
se tornar um membro deother_role
(o inverso):Observe palavras-chave
ROLE
eIN ROLE
quais você ignorou, aparentemente.Existe também uma maneira de criar um papel e conceder uma associação em dois comandos distintos, o que é perfeitamente explicado com um exemplo detalhado, novamente, em outra página de manual :
Neste caso,
other_role
será membro derole-one
. Para fazer o inverso, troque-os no último GRANT.Além disso, conselhos não relacionados: