将 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"
我使用以下方法转储了一个 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"