2012-02-25 15 views
9

trato de otorgar privilegios de esa manera:Postgres 9.1 GRANT no funciona

zielony=# GRANT ALL PRIVILEGES ON DATABASE baza_tag to strona_user; 
GRANT 

Pero nada happends:

usename | usesysid | usecreatedb | usesuper | usecatupd | userepl | passwd | valuntil | useconfig 
-------------+----------+-------------+----------+-----------+---------+----------+----------+----------- 
postgres |  10 | t   | t  | t   | t  | ******** |   | 
zielony  | 16384 | t   | t  | t   | t  | ******** |   | 
strona_user | 16440 | f   | f  | f   | f  | ******** |   | 

también que no tienen ningún acceso a través de php. ¿Qué me estoy perdiendo?

+0

Postgres' no se parece mucho uno del MySQL. ¿Qué esperas que suceda después de esa declaración de GRANT? ¿Qué intenta hacer pero falla? –

+1

Estoy en barbecho esto: [link] (http://wiki.gentoo.org/wiki/PostgreSQL). Esperaba tener permiso para seleccionar, eliminar, usar funciones, etc. en todas las tablas de la base de datos. Cuando trato de seleccionar algo, me grita: "No, permiso para hacer eso" – zie1ony

+0

Deberías haberlo hecho. Pero su salida no muestra los permisos de un usuario con respecto a una cierta base de datos existente, pero si un usuario puede crear una nueva base de datos (por ejemplo). –

Respuesta

23

El sistema de derechos de Postgresql no funciona así. Deberá establecer derechos sobre los objetos mismos. De este modo:

sistema de privilegios
GRANT ALL ON ALL TABLES IN SCHEMA public TO strona_user; 
GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO strona_user; 
GRANT ALL ON ALL FUNCTIONS IN SCHEMA public TO strona_user; 
+0

Estoy usando 8.4 y esto no funciona. Flags error en el segundo "ALL". – Brad

+4

Esto solo es compatible con 9.0 o superior. La pregunta original era para 9.1. 8.4 No se puede hacer esto. Sin embargo, puede escribir un script que consulte las tablas del sistema para ver qué tablas existen y ejecuta una consulta para cada una de ellas. – Eelke

+0

Cuando mi google-fu me falló, esta respuesta funcionó. ¡Gracias! – engineerDave

Cuestiones relacionadas