Postgresql 从dump.sql还原数据库

Postgresql 从dump.sql还原数据库,postgresql,database-restore,Postgresql,Database Restore,从转储文件还原数据时出现此错误 nishant@nishant-Lenovo-G50-70:~/Documents$ psql sortation_gor1 < dump.sql psql: FATAL: role "nishant" does not exist nishant@nishant-Lenovo-G50-70:~/Documents$psql sortation\u gor1

从转储文件还原数据时出现此错误

nishant@nishant-Lenovo-G50-70:~/Documents$ psql sortation_gor1 < dump.sql
psql: FATAL:  role "nishant" does not exist
nishant@nishant-Lenovo-G50-70:~/Documents$psql sortation\u gor1
我遵循了 但是当我试图恢复数据库时,我得到了这个错误。
有什么想法吗

PostgreSQL
pg_dump
不保存角色。PostgreSQL中的角色与数据库集群相关,而不是与单个数据库相关。它使用选项
-r
执行
pg\u dumpall
。您应该使用SQL语句
create ROLE name LOGIN
手动创建缺少的角色,或者必须使用
pg_dump-r
导出角色

我使用了
psql-U postgres-d d1atabase\U name-f dump.sql

但是我认为,默认情况下,postgres可能会将postgres作为默认角色。我尝试切换到postgres用户,但仍然出现错误:psql:FATAL:用户“postgres”的密码身份验证失败。数据库的所有者是postgres。当我切换到postgres时,创建角色postgres;它显示了这个错误:角色“postgres”已经存在。我打开dump.sql文件,看到这一行将TABLE public.auth\u group OWNER改为sortation\u gor;最后创建了一个新角色sortation_gor。但我仍然无法恢复我的数据库。如果我使用ubuntu postgres用户执行此操作,那么:psql:FATAL:用户“postgres”的密码身份验证失败。对于nishant用户,psql:FATAL:role“nishant”不存在。我想我需要添加一个ubuntu用户sortation\u gor来恢复文件。。?