¿Cómo le doy a un usuario de Postgres todos los privilegios sobre una base de datos específica?

¿Cómo le doy a un usuario de Postgres todos los privilegios sobre una base de datos específica?

Estoy configurando un nuevo servidor de base de datos que pretendo utilizar como servidor para muchos servicios. Por lo general, cada uno de estos servicios solo se preocupa por una única base de datos en el sistema, por lo que me gustaría aislar las cuentas con las que se conecta cada servicio para poder acceder solo a esa base de datos. Las aplicaciones de servicio administran su propio esquema, por lo que quiero otorgarles privilegios de administrador para su base de datos, pero no deberían poder tocar nada más.

¿Hay alguna manera de configurar esto en postgres?

Esta pregunta en ServerFaultsugiere un método para otorgar privilegios a un usuario a nivel de todo el esquema; sin embargo, esto no funciona para bases de datos ( Alter Default Privileges In Database xxme da un error de sintaxis Database).

Respuesta1

Encontré la respuesta casi tan pronto como pregunté. El comando mágico que estaba buscando es:

Alter Database xxx Owner To user_xxx;

Esto está documentado en el Alter Databasemanual de comando:

https://www.postgresql.org/docs/current/sql-alterdatabase.html

información relacionada