Crear usuarios de la base de datos de solo lectura
Por seguridad el usuario de postgresql que usa Sutty para acceder a la base de datos no tiene privilegios de superusuario con lo que solo puede administrar las tablas que crea. Esto nos molesta porque:
-
Para habilitar extensiones de PG hay que hacerlo manualmente en el contenedor (por ejemplo para
pgcrypto
que es necesaria para usar UUIDs) -
Para crear usuarios con menos privilegios también (access_log y blazer #84 )
Entonces es necesario pensar un mecanismo para que el contenedor de la base de datos ejecute estas consultas. Se me ocurre algo estilo migraciones, quizás es más simple hacerlas desde ansible
-
create extension pgcrypto
-
create user access_log
-
grant insert on access_logs to access_log
-
https://github.com/ankane/blazer#postgresql
También estaría bueno poder actualizar el contenedor de una versión de PG a otra. Estuve creando un contenedor que compila la versión anterior de PG para poder usar pg_upgrade
pero me quedé a la mitad porque estaba haciendo otra cosa.