setea el search_path antes de llamar la funcion.
Saludos

El 13 de enero de 2015, 15:36, Andrés P.P. <solopostg...@gmail.com>
escribió:

>
> Estimados
>
> Tanto tiempo sin pasar por aquí.... saludos..
>
> Consulta:
>
> Ambiente:
>
> =======================================================================
>
> -bash-3.2$ more /etc/redhat-release
> Red Hat Enterprise Linux Server release 5.4 (Tikanga)
>
> -bash-3.2$ psql una_db un_usuario
> psql (9.2.9)
> Type "help" for help.
>
> una_db=> select version();
>                                                 version
>
> --------------------------------------------------------------------------------------------------------
>  PostgreSQL 9.2.9 on i686-pc-linux-gnu, compiled by gcc (GCC) 4.1.2
> 20080704 (Red Hat 4.1.2-54), 32-bit
> (1 row)
>
> una_db=> select postgis_full_version();
> NOTICE:  Function postgis_gdal_version() not found.  Is raster support
> enabled and rtpostgis.sql installed?
> NOTICE:  Function postgis_topology_scripts_installed() not found. Is
> topology support enabled and topology.sql installed?
> NOTICE:  Function postgis_raster_scripts_installed() not found. Is raster
> support enabled and rtpostgis.sql installed?
> NOTICE:  Function postgis_raster_lib_version() not found. Is raster
> support enabled and rtpostgis.sql installed?
>                                          postgis_full_version
>
> ------------------------------------------------------------------------------------------------------
>  POSTGIS="2.1.5 r13152" GEOS="3.4.2-CAPI-1.8.2 r3921" PROJ="Rel. 4.8.0, 6
> March 2012" LIBXML="2.6.26"
>
> ======================================================================
>
> Tengo un procedimiento que inserta un polígono en una tabla... la
> sentencia dentro del procedimiento en particular es:
>
> insert into un_catalogo.una_tabla(campos)
> values(.....,ST_MakePolygon(ST_GeomFromText('LINESTRING(...los
> puntos...)’,4326)),......)
>
> El procedimiento lo ejecuto directamente en el psql y funciona a la
> perfección.... al igual que otro procedimiento con el cual rescato la info,
> también en psql.. ...
>
> Sin embargo, cuando la llamada a ese procedimiento lo hace la WEB desde la
> misma db y usuario, no funciona!... indicando el error:
>
> *GMT ERROR:  no existe la función st_geometryfromtext(text, integer)*
>
> ....... la sentencia es exactamente la misma........, de hecho , la
> ejecución que hago directamente en el psql lo hago copiando desde un log de
> la web....copy-paste...
>
> EL DATO EXTRA:  Luego de leer foros y la típica secuencia prueba - error
> hicimos el siguiente cambio...  en el insert agregamos el public. a las dos
> funciones ST....  osea:
>
> insert into un_catalogo.una_tabla(campos)
> values(.....,public.ST_MakePolygon(public.ST_GeomFromText('LINESTRING(...los
> puntos...)’,4326)),......);
>
> ...Y FUNCIONÓ LA LLAMADA DESDE LA WEB!!....
>
> Alguien me puede indicar qué falta?...  osea, al menos ya funciona....
> pero mi intención es hacer el código sin tener que colocar "public." a cada
> función del postgis...  aplicar algún grant??.. no sé.. o indíquenme qué
> cosas chequear y les voy copiando..
>
> Desde ya muchas gracias....
>
> Slds.
> AP.
>
>
>
>
>
>


-- 
Atentamente

*
Felipe Guzmán Vargas*
*Ingeniero en Informatica - Consultor TI*
*www.desarrollamostuidea.cl* <http://www.desarrollamostuidea.cl>

Responder a