Tentando fazer um backup incremental a cada hora de um único servidor Postgres (Win7 64).
Eu tenho a seguinte configuração em postgresql.conf
:
max_wal_senders = 2
wal_level = archive
archive_mode = on
archive_command = 'copy "%p" "c:\\postgres\\foo\\%f"'
(reiniciar)
Eu fiz um backup básico com pg_basebackup -U postgres -D ..\foo -F t -x
O que criou um grande base.tar
arquivo nofoo
pasta e adicionou alguns arquivos de 16.384 KB, que eu assumo serem WALs.
O que não entendo é por que os WALs foo
não mudam . Os WALs em data/pg_xlog
mudança. A página não deveria copiá-los? Como ele decide fazer isso?
Talvez eu precise definir archive_timeout=3600
?
Eu já vi vários sites (listas de discussão da pg, página de postgres do bacula) que dizem que você precisa chamar pg_start_backup () e pg_stop_backup (), mas acredito que eles não são necessários. Isso é verdade?
Questões secundárias:
Com que frequência os WALs
data/pg_xlog
são escritos? O que desencadeia uma gravação?Parece atualizar um WAL se eu fizer algum DML
\q
no psql. Ou edite uma tabela no pgAdmin e feche a janela. Imaginei que escreveria no commit.Melhores Práticas? pg_basebackup uma vez por semana? Arquivar WALs na mesma máquina que o PG ou uma máquina remota?