pg_checksums — ativa, desativa ou confere as somas de verificação dos arquivos de dados de uma instância do PostgreSQL
pg_checksums [opção...] [[ -D | --pgdata ]diretório_de_dados]
O utilitário pg_checksums confere, ativa ou desativa as somas de verificação dos dados em uma instância do PostgreSQL. O servidor deve ser parado corretamente antes de executar o utilitário pg_checksums. Ao conferir as somas de verificação, o status de saída será zero se não houver erros de soma de verificação, e diferente de zero se pelo menos uma falha de soma de verificação for detectada. Ao ativar ou desativar as somas de verificação, o status de saída será diferente de zero se a operação falhar.
Ao conferir as somas de verificação, todos os arquivos da
instância são analisados.
Ao ativar as somas de verificação, cada bloco de arquivo de
relação com uma soma de verificação alterada é reescrito no local.
Desativar a soma de verificação apenas atualiza o arquivo
pg_control.
Estão disponíveis as seguintes opções de linha de comando:
-D diretório_de_dados--pgdata=diretório_de_dadosEspecifica o diretório no qual a instância de banco de dados está armazenada.
-c--checkConfere as somas de verificação. Este é o modo padrão, se nada mais for especificado.
-d--disableDesativa as somas de verificação.
-e--enableAtiva as somas de verificação.
-f filenode--filenode=filenode
Só valida as somas de verificação na relação com o
filenode
filenode.
-N--no-sync
Por padrão, o utilitário pg_checksums irá
aguardar que todos os arquivos sejam escritos com segurança no
disco.
Esta opção faz com que o utilitário pg_checksums
termine sem aguardar, o que é mais rápido, mas significa que uma
falha subsequente do sistema operacional poderá deixar o
diretório de dados atualizado corrompido.
Geralmente, esta opção é útil para testes, mas não deve ser
usada em uma instalação em produção.
Esta opção não tem efeito ao usar --check.
-P--progressAtiva o relatório de progresso, fornecendo um relatório de progresso ao conferir ou ativar as somas de verificação.
--sync-method=método
Quando definido como fsync, que é o padrão,
o utilitário pg_checksums irá abrir e
sincronizar recursivamente todos os arquivos no diretório de dados.
A procura por arquivos seguirá as
ligações simbólicas para o diretório de
WAL e para cada espaço de tabelas configurado.
No Linux, pode-se usar o
syncfs em vez de solicitar ao sistema operacional
que sincronize todo o sistema de arquivos que contém o diretório
de dados, os arquivos de 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 é usado --no-sync.
-v--verboseAtiva a saída verbosa. Lista todos os arquivos conferidos.
-V--versionMostra a versão do utilitário pg_checksums, e termina.
-?--helpMostra a ajuda sobre os argumentos de linha de comando do utilitário pg_checksums, e termina.
PGDATA
Especifica o diretório onde o agrupamento de bancos de dados
está armazenado; pode ser sobreposta usando a opção
-D.
PG_COLOR
Especifica se devem ser usadas cores nas mensagens de diagnóstico.
Os valores possíveis são always,
auto e never.
Ativar as somas de verificação em uma instância grande pode levar muito tempo. Durante esta operação, a instância ou outros programas que escrevem no diretório de dados não devem ser iniciados, ou poderá ocorrer perda de dados.
Ao usar uma configuração de replicação com ferramentas que executam cópias diretas de blocos de arquivo de relação (por exemplo, pg_rewind), ativar ou desativar as somas de verificação pode levar a corrupções de página na forma de somas de verificação incorretas, se a operação não for feita de modo consistente em todos os nós. Ao ativar ou desativar as somas de verificação em uma configuração de replicação, é recomendável parar todas as instâncias antes de trocá-las de forma consistente. Destruir todos os servidores em-espera, realizar a operação no servidor primário, e finalmente recriar os servidores em-espera do zero, também é seguro.
Se utilitário pg_checksums for interrompido, ou encerrado, durante a ativação ou desativação das somas de verificação, a configuração da soma de verificação dos dados da instância permanecerá inalterada, e o utilitário pg_checksums poderá ser executado novamente para realizar a mesma operação.
Exemplo 170. Exemplo do tradutor
Conferir as somas de verificação
Parar o servidor, conferir as somas de verificação dos arquivos de dados e reiniciar o servidor PostgreSQL 18 no Debian 12.
$ sudo systemctl stop postgresql@18-main
$ sudo su - postgres
$ /usr/lib/postgresql/18/bin/pg_checksums -D /var/lib/postgresql/18/main/
Operação de soma de verificação concluída
Files scanned: 4183
Blocks scanned: 16511
Bad checksums: 0
Versão da soma de verificação de dados: 1
$ exit
$ sudo systemctl start postgresql@18-main