----- Mensaje original ----- De: "juan ramirez miranda" <juanrami...@cajazacate.com.sv> Para: pgsql-es-ayuda@postgresql.org Enviados: Lunes, 30 de Mayo 2011 14:08:30 GMT -04:00 Georgetown Asunto: [pgsql-es-ayuda] Permisos por columna
hola comunidad, tengo una duda respecto al uso de los privilegios por columna. Tengo una tabla así, tal como la presento CREATE TABLE generales.gen_usuarios ( id_usuario integer, clave text, nombre text, agencia agencias, cargo integer, activo boolean DEFAULT true, ejecutivo_caja boolean DEFAULT false, CONSTRAINT gen_usuarios_pkey PRIMARY KEY (codigo_usuario), CONSTRAINT gen_usuarios_cargo_fkey FOREIGN KEY (cargo) REFERENCES generales.gen_cargos_empresa (cargo) MATCH SIMPLE ON UPDATE CASCADE ON DELETE RESTRICT, CONSTRAINT gen_usuarios_id_usuario_key UNIQUE (id_usuario) ) WITH ( OIDS=FALSE ); ALTER TABLE generales.gen_usuarios OWNER TO postgres; lo que deseo es que los usuarios de mi sistema sólo puedan actualizar el campo "«clave»", lo he intentado asignando el siguiente script. GRANT UPDATE(clave) ON generales.gen_usuarios TO arwilfredo; y al ejecutar el siguiente script, siempre muestra error UPDATE gen_usuarios SET clave= 'jaja' WHERE codigo_usuario='arwilfredo' permiso denegado a la relación gen_usuarios cuando haces esto GRANT UPDATE(clave) ON generales.gen_usuarios TO arwilfredo; estas con agun superuario? si lo haces como super user estas diciendo que el role de tu cluster 'arwilfredo' va a tener permiso de update en la columna clave de tu relación generales.gen_usuarios. ahora cuando ejecutas UPDATE gen_usuarios SET clave= 'jaja' WHERE codigo_usuario='arwilfredo' estas contado a tu base de datos con el usuario 'arwilfredo' del cluster? sino estas claro ejecuta select current_user. y te da el user con el cual estas conectado ahora debes cerciorar ese user tenga tambien privilegios de uso de ese esquema. saludos - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda