我有一个用pg_dump导出的数据库,但现在当我再次try 用:
psql -d databasename < mydump.sql
它试图将角色授予不存在的人,但失败了.(错误显示‘角色"xxx"不存在")
有没有办法将所有角色自动导入并设置到我的用户?
我有一个用pg_dump导出的数据库,但现在当我再次try 用:
psql -d databasename < mydump.sql
它试图将角色授予不存在的人,但失败了.(错误显示‘角色"xxx"不存在")
有没有办法将所有角色自动导入并设置到我的用户?
导入的默认行为是将它不知道的所有角色替换为您用来执行导入的角色.因此,根据您需要数据库的用途,您可能只需导入它并忽略错误消息即可.
引用http://www.postgresql.org/docs/9.2/static/backup-dump.html#BACKUP-DUMP-RESTORE
在还原SQL转储之前,在转储的数据库中拥有对象或被授予对象权限的所有用户必须已经存在.否则,还原将无法重新创建具有原始所有权和/或权限的对象.(有时这是您想要的,但通常不是.)