----- Mensaje original -----
De: "juan ramirez miranda" <[email protected]>
Para: [email protected]
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 ([email protected])
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda