建议执行PostgreSQL数据库备份的方法是什么:pg_dump还是pg_basebackup?



PostgreSQL服务器中有两种不同的工具:

  • pg_dump
  • pg_basebackup

这些工具之间有什么区别?
使用哪一个来创建数据库备份?

pg_dump创建一个逻辑备份,即一系列SQL语句,这些语句在执行时会创建一个逻辑上与原始数据库相似的新数据库。

pg_basebackup创建物理备份,即构成数据库集群的文件的副本。您必须使用恢复来使此类备份保持一致。

主要区别是:

  • pg_dump通常需要更长的时间,并且创建的备份较小。

  • 使用pg_dump您可以备份一个数据库或数据库的一部分,而pg_basebackup始终备份整个集群。

  • pg_dump创建的备份已完成,而您需要WAL存档来恢复使用pg_basebackup创建的备份(除非您使用默认选项-X stream,在这种情况下,备份包含使备份保持一致所需的WAL段(。

  • 使用逻辑备份,
  • 您只能在备份时还原数据库的状态,而使用物理备份,只要存档了所需的 WAL 段,您就可以在备份结束后的任何时间点还原。

  • 您需要pg_basebackup才能创建备用服务器,pg_dump不会这样做。

最新更新