当转储我的数据库 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 输出与显式模式名称不同?我错过了配置指令吗?
提前感谢您的帮助!
莱昂内尔