我正在尝试在服务器之间转储/恢复数据库。以下是我尝试过的方法
倾倒:
pg_dump -h localhost -U user database > dump.sql
恢复到其他服务器:
createdb -h localhost -U postgres -T template0 database
psql -d database -U postgres -h localhost -f dump.sql
psql:rocdocs.sql:35: ERROR: could not access file "/usr/lib/postgresql/8.3/lib/liblwgeom": No such file or directory
psql:rocdocs.sql:38: ERROR: function public.st_box2d_in(cstring) does not exist
psql:rocdocs.sql:46: ERROR: could not access file "/usr/lib/postgresql/8.3/lib/liblwgeom": No such file or directory
psql:rocdocs.sql:49: ERROR: function public.st_box2d_out(box2d) does not exist
psql:rocdocs.sql:61: ERROR: function st_box2d_in(cstring) does not exist
... ...
答案1
此错误是由于缺少 PostGIS 共享库引起的。
通常,为了保证成功恢复,您应该安装与主服务器中相同的所有扩展/贡献模块/插件/附加组件。这将保证所有共享库都已到位。
在服务器中安装 PostGIS(相同版本),然后重试。
看
- https://stackoverflow.com/questions/1413600/no-liblwgeom-when-using-postgresql84-and-postgis-on-snow-leopard-with-macports(在 Mac 上报告但适用于您的问题)
- http://www.postgis.org/pipermail/postgis-users/2010-October/027988.html *
PS. 您没有指定您的 PostgreSQL / PostGIS 版本,如果您需要更多帮助,则需要此版本。