
Estou configurando um novo servidor de banco de dados que pretendo usar como back-end para muitos serviços. Cada um desses serviços geralmente se preocupa apenas com um único banco de dados no sistema, então eu gostaria de isolar as contas às quais cada serviço se conecta para poder acessar apenas esse banco de dados. Os aplicativos de serviço gerenciam seu próprio esquema, então quero conceder-lhes privilégios de administrador em seu banco de dados, mas eles não devem poder tocar em mais nada.
Existe uma maneira de configurar isso no postgres?
Esta questão no ServerFaultsugere um método para conceder privilégios a um usuário em nível de esquema; no entanto, isso não funciona para bancos de dados ( Alter Default Privileges In Database xx
me dá um erro de sintaxe Database
).
Responder1
Encontrei a resposta quase assim que perguntei. O comando mágico que eu estava procurando é:
Alter Database xxx Owner To user_xxx;
Isso está documentado no Alter Database
manual de comando:
https://www.postgresql.org/docs/current/sql-alterdatabase.html