将 psql 转储恢复到其他(新)数据库名称 -d/--dbname 和 -f/--file 不能一起使用

Restore a psql dump to an other (new) database name -d/--dbname and -f/--file cannot be used together

我使用以下方法转储了一个 PostgreSQL 数据库:

pg_dump --file "dump_file.sql" \
        --host "localhost" \
        --port "5432" \
        --username "username" \
        --verbose \
        --format=c \
        --blobs \
        --encoding "UTF8" \
        --schema "public" \
        "dbname"

然后当我尝试恢复它时:

pg_restore --file "dump_file.sql" \
           --clean \
           --create \
           --no-privileges \
           --no-owner \
           --format=c \
           -U "username" \
           -d "newdatabasename" 

它说:

pg_restore: error: options -d/--dbname and -f/--file cannot be used together.

如果我删除 -d "newdatabasename" 它说:

pg_restore: error: could not read from input file: end of file

问题

如何使用新名称恢复此数据库?

经过一些阅读,我认为 --no-privileges --no-owner 会修复它,但事实并非如此...

对于 pg_restore,转储文件不是 --file 的参数。它根本不是一个选项参数。

pg_restore --clean \
           --create \
           --no-privileges \
           --no-owner \
           --format=c \
           -U "username" \
           -d "newdatabasename" \
           "dump_file.sql"