¿Cómo otorgas acceso de lectura/selección en todas las funciones y vistas a un usuario arbitrario?Cómo otorgar todos los privilegios en vistas a usuarios arbitrarios
utilizo psql --user=postgres -d mydb -f myview.sql
para crear varias funciones y puntos de vista, y luego corro:
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
que se ha concedido todos los privilegios, yo esperaría myuser
tener ahora acceso a las funciones y las vistas creadas por el usuario postgres
. Sin embargo, cuando intento acceder a ellos con myuser
, aparece un error de "permiso denegado por relación ...". ¿Por qué es esto?
Me tomó una hora darme cuenta de que 'GRANT SELECT EN TODAS LAS TABLAS EN SCHEMA public TO myuser;' solo tiene sentido cuando este comando se ejecuta cuando el usuario que otorga está * CONNECTED * en esa base de datos. Si no, simplemente no hace nada (o al menos no da el permiso de selección para el usuario). En el shell del superusuario use \ c databasename. – marcel
@marcel: Agregué una nota para recordarle a la gente. –
Esto no otorga permiso al usuario para las secuencias. – Cerin