我使用命令将我的azure postgresql灵活服务器备份到blob存储中的azure文件共享中,该命令工作正常,并将备份存储在azure文件共享中。该命令从azure vm运行,并且azure文件共享挂载在vm上
pg_dump -Fc -v --host=postgressqlflex-server.postgres.database.azure.com --dbname=elo-strangler-service-database --username=abc -f test$date.sql
但是,当我试图恢复备份的形式azure文件共享使用下面的命令运行在相同的azure虚拟机。抛出错误
pg_restore -v --no-owner -h psqlflex-server.postgres.database.azure.com -U abc -Fc -j 4 -d testbackup1669029901.sql
Error
> pg_restore: [archiver] did not find magic string in file header
是备份和恢复的数据库名称不同的原因吗?
你能帮我解决这个问题吗?
通常,pg_restore";不知道要使用什么格式的转储,导致以下错误:"在文件头中没有找到魔法字符串。">
**在此场景中,"-d"表示数据库,而不是"。sql"文件。**
-f "选择格式化的输出。"格式可以是SQL脚本文件的输出之一。">
从.sql文件中恢复数据库的更新命令
pg_restore -v --no-owner -h psqlflex-server.postgres.database.azure.com -U abc -Fc -j 4 -f testbackup1669029901.sql