我有一个用pg_dump导出的数据库,但现在当我再次try 用:

psql -d databasename < mydump.sql

它试图将角色授予不存在的人,但失败了.(错误显示‘角色"xxx"不存在")

有没有办法将所有角色自动导入并设置到我的用户?

推荐答案

导入的默认行为是将它不知道的所有角色替换为您用来执行导入的角色.因此,根据您需要数据库的用途,您可能只需导入它并忽略错误消息即可.

引用http://www.postgresql.org/docs/9.2/static/backup-dump.html#BACKUP-DUMP-RESTORE

在还原SQL转储之前,在转储的数据库中拥有对象或被授予对象权限的所有用户必须已经存在.否则,还原将无法重新创建具有原始所有权和/或权限的对象.(有时这是您想要的,但通常不是.)

Database相关问答推荐

在使用FT.AGGREGATE聚合数据时,如何在Redis上解析ISO 8601时间?

如何限制报表中返回的行数?

重新运行后未找到 Taipy 场景

如何在mongodb数据库中设置导入的CSV文件的字段之间的关系

如何理解mysql explain 命令

数据库排序规则更改问题 (SQL Server 2008)

如何将 PHP 会话数据保存到数据库而不是文件系统中?

matlab 数据文件到 pandas DataFrame

恢复数据库备份时出错

主键、唯一键和外键约束以及索引之间有什么区别?

判断Android中的应用程序数据库中是否存在列

找不到类型或命名空间名称SQLConnection

如何在 DynamoDB 中创建 UUID?

谁有维基数据库?

dbvisualizer:在 Select 查询中设置最大行数

数据库触发器的命名约定

最佳用户角色权限数据库设计实践?

App=EntityFramework 在 Sql 连接字符串中有什么作用?

使用 PHP/MySQL 导入 CSV 数据

是否有用于 postgresql 的数据可视化工具,它也能够显示模式间关系?