检查 pg_dump 的日期

检查 pg_dump 的日期

在一些服务器上,我们使用 pg_dumpall 来创建数据库备份。我只是想知道是否有一种简单的方法来检查创建的文件是否正确,并检查其创建日期(从实际文件而不是检查 fs 上的创建日期)。

在测试/验证我们的备份时会节省很多精力。

答案1

如果 pg_dumpall 命令退出状态为零,则表示创建的文件正常。

当您使用 pg_dumpall 时,无法知道备份创建的确切时间戳,因为它将输出创建为纯文本文件。

但使用自定义格式()制作的转储pg_dump -F c有一些额外的元数据。

以下是我通常推荐的用于备份 PostgreSQL 集群的基本脚本:

#!/bin/sh
pg_dumpall -g > pg-globals.sql # for global stuff like usernames/passwords
for db in db1 db2 db3; do
  pg_dump -F c $db > pg-$db.backup # separate file for every database in the cluster
done

这样,每个数据库就有了单独的文件。可以检查每个文件以pg_restore查看实际创建日期和时间以及其他信息:

filip@srv:~$ pg_restore -l pg-inspire.backup |head -n 15
;
; Archive created at Thu Dec  1 07:28:27 2011
;     dbname: inspire
;     TOC Entries: 714
;     Compression: -1
;     Dump Version: 1.12-0
;     Format: CUSTOM
;     Integer: 4 bytes
;     Offset: 8 bytes
;     Dumped from database version: 9.0.5
;     Dumped by pg_dump version: 9.0.5
;
;
; Selected TOC Entries:
;

我强烈建议阅读这些内容:

答案2

除了@filiprem写的内容之外,检查 pg_dumpall 文件创建时间的一种方法是在文件名中嵌入日期/时间。

相关内容