0

当转储我的数据库 9.0 以在 9.2 中重新导入它时,我遇到了模式问题。

例如,我在模式foo中的表格栏是这样导出的:

SET search_path = foo, pg_catalog;
...
CREATE TABLE bar (
   ...
);
ALTER TABLE foo.bar OWNER TO johndoe;

在 9.2 中导入它不能按预期工作,因为表格是在模式'public'中创建的。ALTER TABLE语句失败并显示' ERROR: relationship "foo.bar" doesn't exist'

我认为转储文件中的 *pg_dump* 命令发出的 'SET search_path' 指令可以设置默认模式(并且在 9.0 中导入时有效),但在 9.2 中无效。

有没有办法使 pg_dump 输出与显式模式名称不同?我错过了配置指令吗?

提前感谢您的帮助!

莱昂内尔

4

1 回答 1

0

我替换了转储文件中需要显式模式名称的每个元素,它完成了工作......没什么大不了的。

于 2012-10-07T19:25:16.637 回答