pg_dump PostgreSQL 中 .dump 和 .sql 之间的差异

Gan*_*thy 4 postgresql format pg-dump pg-restore

我正在尝试使用 pg_dump 对模式进行备份,例如,

$ pg_dump -U ganapathy -n hotel_management > ganapathy_schema.dump
Run Code Online (Sandbox Code Playgroud)

它创建了备份,但我无法使用pg_restore. 它给出这样的错误,

pg_restore: [archiver] 输入文件似乎不是有效的存档

然后我尝试使用 . sql扩展像,

$ pg_dump -U ganapathy -n hotel_management > ganapathy_schema.sql
Run Code Online (Sandbox Code Playgroud)

但它也给出了同样的错误。

pg_restore: [archiver] 输入文件似乎不是有效的存档

之后,我尝试通过-Fc.dump.sql扩展中指定格式来进行备份。然后我尝试恢复它。它成功恢复。

所以现在我的怀疑是,

PostgreSQL 中 pg_dump 中 .dump 和 .sql 的扩展名有什么区别?

因为两者都需要指定格式。

提前致谢...

Cra*_*ger 9

文件扩展名没有任何意义。在所有。它只是文件名的一部分。

如果你想与使用自定义格式转储pg_restore使用-Fc作为参数pg_dump

pg_dump默认生成 SQL 格式的转储以用于psql.

有关更多详细信息,请参阅手册。