数据库应该转储为 SQL 格式还是自定义存档?

wen*_*eno 0 postgresql dump recovery restore

我想知道,在制作和存储数据库转储时,有关转储格式的行业标准是什么?

是否将其转储为自定义格式的压缩且不可读的存档,或者只是简单的 .sql?


这是与数据库无关的问题,但以下是 PostgreSQL 的示例来说明这一点:

# MYDATABASE to CUSTOM ARCHIVE
pg_dump -Fc mydatabase > mydatabase.dump
Run Code Online (Sandbox Code Playgroud)

# MYDATABASE to SQL
pg_dump -h localhost -U postgres pagila > mydatabase.sql
Run Code Online (Sandbox Code Playgroud)

Phi*_* W. 5

当你需要存储任何数据时,问自己同样的问题:

您将如何使用数据备份?

如果您需要“进入”文件并对其进行操作(就像开发人员可能为了将转储的一部分恢复到测试数据库中一样),那么基于文本的内容是一个明显的选择。
如果数据库大小为 TB,则自定义压缩格式可能更合适。

请记住,备份本身并不重要
(是的,我确实这么说过)。

重要是您可以恢复数据库……而备份是支持这一点的好方法。

对于直线恢复速度,pg_basebackup - 或基于它的东西 - 应该是您的首选。虽然 pg_dump 生成数据库[部分]的可移植逻辑“副本”,但使用 pg_basebackup 的输出会快得多