Postgres db 转储/恢复错误

Postgres db 转储/恢复错误

我正在尝试在服务器之间转储/恢复数据库。以下是我尝试过的方法

倾倒:

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(相同版本),然后重试。

PS. 您没有指定您的 PostgreSQL / PostGIS 版本,如果您需要更多帮助,则需要此版本。

相关内容