Postgresql pg_转储失败,错误为:`FATAL:role";用户名";不存在`

Postgresql pg_转储失败,错误为:`FATAL:role";用户名";不存在`,postgresql,Postgresql,我有一个名为backupdb的数据库,我想将它导入我的本地rails应用程序,所以我想将其转储 当我运行pg_dump backupdb时,我发现以下错误 pg_dump:[archiver(db)]与数据库“backupdb”的连接失败:致命:角色“username”不存在 这里怎么了。请帮忙 我从电子邮件中下载了数据库,然后尝试创建一个转储文件,以便将其导入到我的本地rails应用程序您提供的“用户名”为用户名,该用户名不存在。您需要传递一个存在的用户名(postgres可能会这样做)。 添

我有一个名为
backupdb
的数据库,我想将它导入我的本地rails应用程序,所以我想将其转储

当我运行
pg_dump backupdb
时,我发现以下错误

pg_dump:[archiver(db)]与数据库“backupdb”的连接失败:致命:角色“username”不存在

这里怎么了。请帮忙

我从电子邮件中下载了数据库,然后尝试创建一个转储文件,以便将其导入到我的本地rails应用程序

您提供的“用户名”为
用户名
,该用户名不存在。您需要传递一个存在的用户名(postgres可能会这样做)。

添加参数
--username=postgres--password
,它将询问您用户postgres的密码。(您可能在pg_hba.conf中设置了信任的安全设置,在这种情况下,省去密码即可。

此命令将备份完整的数据库

pg_dump -h localhost -U "dbuser" "dbname" -Fc > "pathfilename.backup"

**ex:** pg_dump -h localhost -U mani manidb - Fc > "thamesdb.backup"

有关pg_转储格式的更多信息,请参考答案,试试这可能对您有用

$ pg_dump -h localhost -U postgres -Fc mydb > db.dump

如果有人在使用intellij时遇到同样的问题,以下是对我的帮助: 在我的例子中,问题是,我右键单击了数据源,但您必须打开它并右键单击数据库本身。因此,在下图中,不要单击localDB。右键单击数据库名称,然后执行转储

希望这将有助于解决这个令人困惑的用户体验问题。:D


正如我所说,我只是在做这个
pg_dump backupdb
我运行类似
pg_dump~/backupdb--username=postgres
的东西,我得到的数据库不存在。你的第一个参数是databasename,去掉~/然后重试,发布错误。它说的是一样的,
pg_dump:[archiver(db)]连接到数据库“backupdb”失败:致命:数据库“backupdb”不存在
好的,我假设你的整个问题是向后的。你有一个转储文件,并试图将其读入数据库?你确定你使用的是
pg_dump backupdb
不是这样的
pg_dump dbname>outfile
?我想是双向的。即使这样,我也会得到与问题相同的错误。请参考此答案您正在尝试还原数据库。pg_dump用于将数据库转储到文件中。要进行还原,通常您只需将其通过管道传输到psql命令。尽管某些转储格式需要pg_还原。但您没有指定任何凭据,因此它使用的是当前用户。请将凭据添加到命令行,或作为postgres使用运行该命令r、 这不起作用,这是我正在尝试的。
pg_dump-h localhost-U“postgres”“backupdb”-Fc>“Downloads/backupdb.backup”
您得到的错误是什么?并且“postgres”“backupdb”不应该在引号中。它有什么作用?@Kim它将从转储文件中转储您的数据库