尝试 运行 pg_dump 作为用户 "postgres" returns 与非 postgres 用户相关的错误

Attempting to run pg_dump as user "postgres" returns error related to non-postgres user

当我尝试 运行 pg_dump 作为用户 "postgres",

$ sudo -u postgres pg_dump <pg_dump arguments>

我收到错误

psql: FATAL:  role "username" does not exist

其中 "username" 是我的 OS 用户名(即 $USER)。似乎如果我试图使用 pg_dump 作为我自己,那么没有 "username" 角色会很重要,但因为我不是,所以不应该。如何使 pg_dump 做某事? Fedora 上的 Postgres 9.4.8。提前致谢!

如果您是 运行 pg_dump,为什么错误信息显示 psql

我猜你正在做这样的事情:

sudo -u postgres pg_dump foo bar $(psql blurb blurgle)

或者可能是这样的:

sudo -u postgres pg_dump foo bar | psql blurb blurgle

所以你需要 sudo -u postgres 这两个命令。

无论如何,听起来您找错地方了。