¿Hay una línea que otorgue los permisos SELECCIONAR a un nuevo usuario postgresql?
Algo que implementaría el siguiente pseudocódigo:
GRANT SELECT ON TABLE * TO my_new_user;
permissions
sql
postgresql
user-management
Adam Matan
fuente
fuente
default privileges
en un esquema, donde crea la tabla: postgresql.org/docs/current/static/…public
para la base de datos actual a la que está conectado.Mi solución (sin línea):
Ejecutar desde el usuario privilegiado, funcionó a las mil maravillas.
fuente
Esto se puede hacer con un proceso de dos pasos.
Ejecute esta consulta:
Reemplazos:
$foo
= nombre de usuario para el que desea otorgar permisos$bar
,$baz
= esquemas en los que desea otorgar permisos (puede ser solo "público")Eso le dará una lista de consultas que generarán los permisos necesarios. Copie el resultado, péguelo en otra consulta y ejecútelo.
fuente
Esto es lo que usé:
Creo que es más natural hacer formato y cláusulas where en sql.
fuente
Terminé haciendo esto , y funcionó:
fuente
Estoy trabajando con postgres 8.4 y para dar todos los privilegios a un usuario, haga lo siguiente:
fuente
Una forma de solucionar esto es escribir un procedimiento almacenado. desafortunadamente no existe el comando "conceder todo a todas las tablas" más o menos. realmente necesita un procedimiento o algún script de shell externo para que esto funcione.
fuente
El script (solución de una línea) de Adam Matan es excelente cuando hay muchos esquemas, pero no funciona donde los nombres de esquema o tabla contienen letras mayúsculas o caracteres especiales.
Versión modificada:
fuente