简而言之,我的问题是“为什么$libdir不能在我的PSQL安装上工作”.
CREATE FUNCTION st_box2d_in(cstring) RETURNS box2d AS '$libdir/liblwgeom','BOX2DFLOAT4_in' LANGUAGE c IMMUTABLE STRICT;
产生错误
could not access file "$libdir/liblwgeom": No such file or directory
而
CREATE FUNCTION st_box2d_in(cstring) RETURNS box2d AS '/usr/local/pgsql/lib/liblwgeom','BOX2DFLOAT4_in' LANGUAGE c IMMUTABLE STRICT;
正常工作
的输出
% pg_config --pkglibdir /usr/local/pgsql/lib
似乎是正确的.
我也努力解决这个错误.我通过将PostGIS lib手动链接到liblwgeom文件来解决它,如下所示:
ln -s /usr/lib/postgis/1.5.1/postgres/8.4/lib/postgis-1.5.so /usr/lib/postgresql/8.4/lib/liblwgeom
我不知道为什么PostGIS安装在“错误的”目录,或者为什么当PostgreSQL看起来是PostGIS调用postgis-1.5.so的文件时,PostgreSQL会寻找一个名为liblwgeom的文件
我所知道的是,这似乎已经解决了我的问题.