在转储数据库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 语句失败,'错误:关系“foo.bar”不存在'。
我认为转储文件中* pg_dump *命令发出的'SET search_path'指令可以设置默认模式(在9.0中导入时可以正常工作),但在9.2中不起作用。
有没有办法让pg_dump输出与显式模式名称不同? 我错过了配置指令吗?
提前感谢您的帮助!
梅西
答案 0 :(得分:0)
我替换了转储文件中需要显式模式名称的每个元素,它完成了工作...... 没什么大不了的。