Verifique a data de um pg_dump

1

Um par de servidores que usamos pg_dumpall para criar backups de nossos bancos de dados. Eu só estou querendo saber se há uma maneira fácil de verificar se o arquivo criado está bem, e para verificar a data em que foi criado (a partir do arquivo real, em vez de verificar a data de criação no fs).

Economizaria muito esforço ao testar / verificar nossos backups.

    
por Tim Rosser 01.12.2011 / 06:09

2 respostas

3

Se o status de saída do comando pg_dumpall for zero, o arquivo criado é OK.

Não há como saber o registro de data e hora exato da criação do backup quando você usa o pg_dumpall, porque ele cria a saída como um arquivo de texto simples.

Mas os dumps feitos com o formato personalizado ( pg_dump -F c ) têm alguns metadados extras.

Então aqui está um script básico que eu geralmente recomendo fazer backup do cluster do 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

Dessa forma, você tem um arquivo separado para cada banco de dados. Cada um deles pode ser inspecionado com pg_restore para ver a data e a hora reais da criação, além de outras informações:

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:
;

Recomendo vivamente a leitura destes:

por 01.12.2011 / 07:33
0

Além do que @filiprem escreveu-- uma maneira de poder verificar quando um arquivo pg_dumpall foi criado é incorporar a data / hora no nome do arquivo.

    
por 01.12.2011 / 23:34

Tags