Saltar al contenido

Otorgar acceso a vistas en postgresql

Esta cuestión se puede solucionar de diversas formas, pero te enseñamos la solución más completa para nosotros.

Solución:

Estoy de acuerdo en que debería funcionar. con permisos GRANT ... ON ALL TABLES debe incluir vistas también.

¿Creaste la vista? después concesión de privilegios a testuser? Si es así, no tiene los mismos privilegios que las otras tablas. Eso es porque GRANT ... ON ALL TABLES significa “en todas las tablas que existen actualmente”. Para incluir tablas/vistas que cree en el futuro, puede decir:

ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO testuser;

O si quieres dar más de SELECTpuedes decir ALL PRIVILEGES en cambio.

Creo que este comportamiento de ON ALL TABLES es una de las partes más incomprendidas sobre los permisos de Postgres, y en realidad no se menciona en la documentación estándar, por lo que traté de enfatizarlo en mi propia descripción general de los permisos de Postgres.

postgres=# GRANT ALL PRIVILEGES ON DATABASE testdb TO testuser;
postgres=# GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO testuser;

GRANT USAGE on schema:          GRANT USAGE ON SCHEMA schema_name TO username;
  Grant SELECT for a specific table: GRANT SELECT ON tbl_loans_new TO oloffm;
  Grant SELECT for multiple tables:  GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO username;

valoraciones y reseñas

Si tienes algún titubeo o forma de refinar nuestro división eres capaz de realizar una observación y con mucho placer lo estudiaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *