pg_combinebackup — reconstrói uma cópia de segurança completa a partir de uma cópia de segurança incremental e cópias de segurança dependentes
pg_combinebackup [opção...] [diretório_da_cópia_de_segurança...]
O utilitário pg_combinebackup é usado para reconstruir uma cópia de segurança completa sintética a partir de uma cópia de segurança incremental e das cópias de segurança anteriores das quais ela depende.
Devem ser especificadas todas as cópias de segurança necessárias na
linha de comando, da mais antiga para a mais recente.
Ou seja, o primeiro diretório de cópia de segurança deve ser o
caminho para a cópia de segurança completa e o último deve ser o
caminho para a cópia de segurança incremental final que se deseja
restaurar.
A cópia de segurança reconstruída será escrita no diretório de saída
especificado pela opção -o.
O utilitário pg_combinebackup irá tentar verificar se as cópias de segurança especificadas formam uma cadeia de cópia de segurança válida a partir da qual uma cópia de segurança completa correta possa ser reconstruída. Entretanto, ele não foi projetado para ajudar a controlar quais cópias de segurança dependem de quais outras cópias de segurança. Se for removida uma ou mais cópias de segurança anteriores das quais a cópia de segurança incremental depende, não será possível restaurar. Além disso, o utilitário pg_combinebackup só tenta verificar se as cópias de segurança têm a relação correta entre si, não se cada cópia de segurança individual está intacta; para esta finalidade, deve ser usado o utilitário pg_verifybackup.
Uma vez que a saída do utilitário pg_combinebackup é uma cópia de segurança completa sintética, ela poderá ser usada como entrada para uma futura chamada de pg_combinebackup. A cópia de segurança sintética completa seria especificada na linha de comando em vez da cadeia de cópias de segurança a partir da qual foi reconstruída.
-d--debug
Escreve várias informações de registro de depuração em
stderr.
-k--linkUsa as ligações físicas em vez de copiar os arquivos para a cópia de segurança sintética. A reconstrução da cópia de segurança sintética poderá ser mais rápida (sem cópia de arquivos) e utilizar menos espaço em disco, mas é preciso ter cuidado ao usar o diretório de saída, porque qualquer modificação neste diretório (por exemplo, reiniciar o servidor) também poderá afetar os diretórios de entrada. Da mesma forma, alterações nos diretórios de entrada (por exemplo, iniciar o servidor com a cópia de segurança completa) poderá afetar o diretório de saída. Portanto, esta opção é mais adequada quando os diretórios de entrada são apenas cópias que serão removidas após a conclusão do pg_combinebackup.
Requer que as cópias de segurança de entrada e o diretório de saída estejam no mesmo sistema de arquivos.
Se não estiver disponível um manifesto de cópia de segurança, ou se este não contiver uma soma de verificação (checksum) do tipo correto, as ligações físicas ainda assim serão criadas, mas o arquivo será lido bloco por bloco para realizar o cálculo da soma de verificação.
-n--dry-run
A opção -n/--dry-run instrui
o utilitário pg_combinebackup a descobrir o
que seria feito sem realmente criar o diretório de destino
ou quaisquer arquivos de saída.
É particularmente útil em combinação com a opção
--debug.
-N--no-sync
Por padrão, o utilitário pg_combinebackup
irá aguardar até que todos os arquivos sejam escritos com
segurança no disco.
Esta opção faz com que o pg_combinebackup
retorne sem esperar, o que é mais rápido, mas significa que
uma falha subsequente do sistema operacional poderá corromper
a cópia de segurança de saída.
Em geral, esta opção é útil para testes, mas não deve ser usada
ao criar uma instalação de produção.
-o diretório_de_saída--output=diretório_de_saídaEspecifica o diretório de saída no qual a cópia de segurança sintética completa deve ser escrita. No momento, este argumento é obrigatório.
-T diretório_antigo=diretório_novo--tablespace-mapping=diretório_antigo=diretório_novo
Realoca o espaço de tabelas no
diretório_antigo para o
diretório_novo
durante a cópia de segurança.
O diretório_antigo é o caminho
absoluto do espaço de tabelas tal como existe na
cópia de segurança final especificado na linha de comando e o
diretório_novo é o caminho absoluto
a ser usado para o espaço de tabelas na cópia de segurança
reconstruída.
Se algum dos caminhos precisar conter um sinal de igual
(=), este deverá ser precedido por uma
contrabarra.
Esta opção pode ser especificada várias vezes para vários
espaços de tabela.
--cloneUsa a clonagem eficiente de arquivos (também conhecida como “reflinks” em alguns sistemas) em vez de copiar os arquivos para o novo diretório de dados, o que pode resultar em uma cópia quase instantânea dos arquivos de dados.
Se não estiver disponível um manifesto de cópia de segurança, ou se este não contiver uma soma de verificação (checksum) do tipo correto, será usada a clonagem de arquivo para copiar o arquivo, mas o arquivo será lido bloco por bloco para realizar o cálculo da soma de verificação.
A clonagem de arquivos só tem suporte em alguns sistemas
operacionais e sistemas de arquivos.
Se esta opção estiver selecionada, mas não for compatível,
a execução do utilitário
pg_combinebackup irá apresentar erro.
No momento, esta opção tem suporte no
Linux
(kernel 4.5 ou posterior) com Btrfs e
XFS (em sistemas de arquivos criados com
suporte a reflink), e no
macOS com
APFS.
--copy
Realiza cópia regular de arquivos.
É o padrão.
(Veja também --copy-file-range,
--clone e
-k/--link.)
--copy-file-range
Usa a chamada de sistema copy_file_range
para realizar uma cópia eficiente.
Em alguns sistemas de arquivos, produz resultados semelhantes
à opção --clone, compartilhando blocos físicos
do disco, enquanto em outros sistemas pode até copiar blocos,
mas por meio de um caminho otimizado.
No momento, tem suporte no
Linux e no
FreeBSD.
Se não estiver disponível um manifesto de cópia de segurança,
ou se este não contiver uma soma de verificação
(checksum) do tipo correto,
será usado copy_file_range para copiar
o arquivo, mas o arquivo será lido bloco por bloco para
realizar o cálculo da soma de verificação.
--manifest-checksums=algoritmo
Assim como o utilitário pg_basebackup, o
pg_combinebackup escreve o manifesto
de cópia de segurança no diretório de saída.
Esta opção especifica o algoritmo de soma de verificação a ser
aplicado a cada arquivo incluído no manifesto de cópia de segurança.
No momento, os algoritmos disponíveis são NONE,
CRC32C, SHA224,
SHA256, SHA384 e
SHA512.
O padrão é CRC32C.
--no-manifestDesativa a geração do manifesto de cópia de segurança. Se esta opção não for especificada, será escrito um manifesto de cópia de segurança para a cópia de segurança reconstruída no diretório de saída.
--sync-method=método
Quando definido como fsync, que é o padrão,
o utilitário pg_combinebackup irá abrir e
sincronizar recursivamente todos os arquivos no diretório de
cópia de segurança.
Quando é usado o formato simples, a busca por arquivos irá
seguir as ligações simbólicas para o diretório do
WAL e para cada espaço de tabelas configurado.
No Linux, pode ser usado
o syncfs para solicitar ao sistema operacional
que sincronize todo o sistema de arquivos que contém o diretório
de cópia de segurança.
Quando é usado o formato simples, o utilitário
pg_combinebackup também irá sincronizar os
sistemas de arquivos que contêm os arquivos do
WAL e cada espaço de tabelas.
Veja recovery_init_sync_method para obter
informações sobre as precauções a serem tomadas ao usar o
syncfs.
Esta opção não tem efeito quando é usada a opção
--no-sync.
-V--versionMostra a versão do utilitário pg_combinebackup, e termina.
-?--helpMostra a ajuda sobre os argumentos de linha de comando do utilitário pg_combinebackup, e termina.
O utilitário pg_combinebackup não recalcula as
somas de verificação das páginas ao escrever no diretório de saída.
Portanto, se alguma das cópias de segurança usadas para a
reconstrução foi feita com a verificação de integridade desativada,
mas a cópia de segurança final foi feita com a verificação de
integridade ativada, o diretório resultante poderá conter páginas
com verificações de integridade inválidas.
Para evitar este problema, recomenda-se fazer uma nova cópia de
segurança completa após alterar o estado da soma de verificação do
agrupamento de bancos de dados (cluster)
usando o utilitário pg_checksums.
Caso contrário, se pode desativar e, opcionalmente, reativar as
somas de verificação no diretório produzido pelo utilitário
pg_combinebackup para corrigir o problema.
Este utilitário, assim como a maioria dos outros utilitários do PostgreSQL, usa as variáveis de ambiente que têm suporte na libpq (veja Variáveis de ambiente).
A variável de ambiente PG_COLOR especifica se devem
ser usadas cores nas mensagens de diagnóstico.
Os valores possíveis são always,
auto e never.