如何在pgAdmin4中将PostgreSQL备份恢复到public schema并解决schema不存在报错
报错原因
你使用的.backup备份文件中,所有断电信息相关的表、视图等对象默认归属outage_data schema,而非预先说明的public schema,恢复时目标空库没有提前创建对应schema,就会触发该报错。
解决方案1:保留原schema恢复(操作最简单,无数据映射风险)
直接在目标空库提前创建缺失的schema后再恢复即可:
- 打开pgAdmin,选中你新建的空数据库,点击顶部工具栏「查询工具」
- 执行SQL语句创建schema:
CREATE SCHEMA outage_data;
- 语句执行成功后,按照你原来的恢复流程重新操作即可。
解决方案2:按要求将数据恢复到public schema
如果必须将数据放到public schema下,可在恢复时添加schema重映射规则:
- 右键点击目标空数据库选择「恢复」,关联你的.backup备份文件路径
- 切换到「恢复选项」标签页,找到「模式/架构重映射」配置区
- 添加一条映射规则:
- 源schema:
outage_data - 目标schema:
public
- 源schema:
- 可选勾选「无所有者」选项,避免备份文件内的原数据库用户权限与你本地环境不匹配导致的额外报错
- 点击「恢复」执行操作即可。
内容的提问来源于stack exchange,提问作者sean ericson
相关产品推荐
相关产品推荐

