Freddy Martinez Garcia escribió:

> la documentación de PostgreSQL 9.xx dice que hace falta tener permiso de
> administración para usar estas funciones del lado del servidor. Yo fui al
> fichero de configuración /var/lib/postgres/postgres/data/posgresql.conf y
> descomenté la linea donde decía:
> 
> #lo_compat_privileges = off
> 
> y luego de descomentarla la puse en:
> 
> lo_compat_privileges = on
> 
> como dice la documentación....

No leíste bien.  En 9.1 se inventó que los LOs tienen privilegios por
usuario, o sea se les puede hacer GRANT y REVOKE individualmente.  En
versiones anteriores eso no existe: cualquiera puede leer cualquier LO
sabiendo sólo su OID.  Para desactivar esa nueva funcionalidad se
inventó el parámetro que cambiaste.

Pero esto:

> select lo_import('/home/freddy/1.avi');
> 
> "ERROR:  could not open server file "/home/freddy/1.avi": Permission denied

no tiene ninguna relación.  Acá lo que pasa es que está tratando de leer
el archivo con el usuario del servidor y obviamente no tiene
privilegios.  Seguramente te podría servir en psql \lo_import,
tomado de \?

Objetos Grandes
  \lo_export LOBOID ARCHIVO
  \lo_import ARCHIVO [COMENTARIO]
  \lo_list
  \lo_unlink LOBOID   operaciones con objetos grandes

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a