我有一个奇怪的问题。
我尝试使用pgAdmin III将数据库从一台服务器移动到另一台服务器。 使用PostgreSQL 8.4.9在服务器上创建数据库,我想用PostgreSQL 8.2.11在第二台服务器上移动它。 要做到这一点,我使用" backup"选项和保存的文件,之后我使用" restore"新数据库的选项。表已加载但新数据库中没有任何函数。
也许是因为不同的postgreSQL版本?
有谁知道原因?任何解决方案?
答案 0 :(得分:1)
如果函数不在,请仔细检查plpgsql是否可用作语言。现在默认情况下可以使用,但过去可以使用create language statement。
那就是说,我回应了这些评论:你真的应该升级到仍然支持的9.x Postgres版本,而不是从不支持的版本降级到一个版本。甚至更老。
答案 1 :(得分:0)
我建议通过pg_dump
从交互式会话中执行此操作,并将完整的数据库导出到一个或多个sql文件中。在那里,您可以使用-s
开关仅包含应包含已创建函数的模式。有了这个SQL文件,如果不适用于旧的休耕,你也可以更轻松地向后移动你的更改或调试。