当我使用pg_upgrade检查升级postgresql 9.0 beta2到postgresql 9.3 beta1.错误发生在下面:
uptest@db-172-16-3-33-> cat loadable_libraries.txt
Could not load library "$libdir/postgis-2.0"
ERROR: could not load library "/opt/pgsql9.3beta1/lib/postgis-2.0.so": /opt/pgsql9.3beta1/lib/postgis-2.0.so: undefined symbol: GETSTRUCT
Run Code Online (Sandbox Code Playgroud)
详细程序:
我LD_LIBRARY_PATH是:
LD_LIBRARY_PATH=/opt/pgsql9.3beta1/lib:/opt/postgis-2.0.3-for9.3/lib:/opt/gdal-1.10.0/lib:/opt/geos-3.3.8/lib:/opt/json-c-git20130520/lib:/opt/proj-4.8.0/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib /opt/pgsql9.3beta1/bin/pg_upgrade -c -b /opt/pgsql9.0beta2/bin -B /opt/pgsql9.3beta1/bin -d /pgdata1099 -D /pgdata2099 -p 1099 -P 2099 -u postgres -v
Run Code Online (Sandbox Code Playgroud)
然后是错误:
Checking for presence of required libraries fatal
Your installation references loadable libraries that are missing from the
new installation. You can add these libraries to the new installation,
or remove the functions using them from the old installation. A list of
problem libraries is in the file:
loadable_libraries.txt
Failure, exiting
Run Code Online (Sandbox Code Playgroud)
解决:
这是postgresql 9.3的postgis bug.并解决了它.
谢谢.
http://trac.osgeo.org/postgis/changeset/10321
vi /opt/soft_bak/postgis-2.0.3/postgis/geometry_estimate.c
//add
#if POSTGIS_PGSQL_VERSION >= 93
#include "access/htup_details.h"
#endif
Run Code Online (Sandbox Code Playgroud)
然后gmake,gmake install
pg_upgrade现在通过了.
小智 4
这是从问题中引用的。(OP已编辑问题)
这是 postgresql 9.3 的一个 postgis 错误。并解决了它。
谢谢。
http://trac.osgeo.org/postgis/changeset/10321
vi /opt/soft_bak/postgis-2.0.3/postgis/geometry_estimate.c
//add
#if POSTGIS_PGSQL_VERSION >= 93
#include "access/htup_details.h"
#endif
Run Code Online (Sandbox Code Playgroud)
进而gmake,gmake install
do pg_upgrade 现在已经通过了。
| 归档时间: |
|
| 查看次数: |
2392 次 |
| 最近记录: |