pg_waldump

pg_waldump — mostra uma apresentação legível por humanos do conteúdo dos arquivos de WAL de uma instância do PostgreSQL

Sinopse

pg_waldump [opção...] [segmento_inicial [segmento_final]]

Descrição

O utilitário pg_waldump mostra os registros do WAL, sendo útil principalmente para fins educacionais e de depuração.

Este utilitário só pode ser executado pelo usuário que instalou o servidor, porque requer acesso de leitura-apenas ao diretório de dados.

Opções

As seguintes opções de linha de comando controlam o local e o formato da saída:

segmento_inicial

Começa a ler no arquivo de segmento de WAL especificado. Determina implicitamente o caminho no qual os arquivos serão pesquisados, e a linha do tempo a ser usada.

segmento_final

Termina após ler o arquivo de segmento de WAL especificado.

-b
--bkp-details

Retorna informações detalhadas sobre blocos de cópia de segurança.

-B bloco
--block=bloco

Mostra somente os registros que modificam o bloco especificado. A relação também deve ser fornecida com --relation ou -R.

-e fim
--end=fim

Interrompe a leitura no local do WAL especificado, em vez de ler até o final do fluxo de registros.

-f
--follow

Após atingir o final de um arquivo de WAL válido, continua verificando uma vez por segundo se apareceu um novo registro.

-F ramificação
--fork=ramificação

Mostra somente os registros que modificam blocos na ramificação (fork) especificada. Os valores válidos são main para a ramificação principal, fsm para o mapa de espaço livre, vm para o mapa de visibilidade, e init para a ramificação init.

-n limite
--limit=limite

Mostra o número especificado de registros, e termina.

-p caminho
--path=caminho

Especifica o diretório para procurar por arquivos de segmento de WAL, ou o diretório com um subdiretório pg_wal contendo estes arquivos. O padrão é procurar no diretório corrente, no subdiretório pg_wal do diretório corrente, e no subdiretório pg_wal de PGDATA.

-q
--quiet

Não mostra nenhuma saída, exceto as de erro. Esta opção pode ser útil quando se deseja saber se um intervalo de registros de transação pode ser analisado com sucesso, mas sem se preocupar com o conteúdo dos registros.

-r nome
--rmgr=nome

Mostra apenas os registros gerados pelo gerenciador de recursos especificado. Pode-se especificar esta opção várias vezes para selecionar vários gerenciadores de recursos. Se for passado list como nome, mostra a lista de nomes de gerenciadores de recursos válidos e termina.

As extensões podem definir gerenciadores de recursos personalizados, mas o utilitário pg_waldump não carrega módulo de extensão e, portanto, não reconhece os gerenciadores de recursos personalizados pelo nome. Em vez disso, pode-se especificar os gerenciadores de recursos personalizados como person### onde ### é o ID do gerenciador de recursos de três dígitos. Os nomes inseridos neste formato serão sempre considerados válidos.

-R espaço_de_tabelas/banco_de_dados/relfilenode
--relation=espaço_de_tabelas/banco_de_dados/relfilenode

Mostra apenas os registros que modificam blocos na relação especificada. A relação é especificada com o OID do espaço de tabelas, o OID do banco de dados e o relfilenode, separados por barras como, por exemplo, 1234/12345/12345. Este é o mesmo formato usado para as relações na saída do programa.

-s início
--start=início

Local do WAL onde iniciar a leitura. O padrão é iniciar a leitura no primeiro registro de transação válido, encontrado no arquivo mais antigo encontrado.

-t timeline
--timeline=timeline

Linha do tempo a partir da qual ler os registros do WAL. O padrão é usar o valor no segmento_inicial, se for especificado; caso contrário, o valor padrão é 1. O valor pode ser especificado em decimal ou hexadecimal como, por exemplo, 17 ou 0x11.

-V
--version

Mostra a versão do utilitário pg_waldump, e termina.

-w
--fullpage

Mostra apenas os registros que incluem imagens de página inteira.

-x xid
--xid=xid

Mostra apenas os registros marcados com o ID de transação fornecido.

-z
--stats[=registro]

Mostra estatísticas resumidas (número e tamanho dos registros, e imagens de página inteira), em vez de registros individuais. Opcionalmente, gera estatísticas por registro, em vez de por gerenciador de recursos.

Se o utilitário pg_waldump for terminado pelo sinal SIGINT (Control+C), o resumo das estatísticas calculadas é mostrado até o ponto de término. Esta operação não tem suporte no Windows.

--save-fullpage=caminho_de_salvamento

Salva as imagens de página inteira encontradas nos registros do WAL no diretório caminho_de_salvamento. As imagens salvas estão sujeitas aos mesmos critérios de filtragem e limitação que os registros mostrados.

As imagens de página inteira são salvas com o seguinte formato de nome de arquivo: TIMELINE-LSN.RELTABLESPACE.DATOID.RELNODE.BLKNO_FORK Os nomes dos arquivos são compostos pelas seguintes partes:

ComponenteDescrição
TIMELINEA linha do tempo do arquivo de segmento do WAL onde o registro está localizado, formatada como um número hexadecimal de 8 caracteres %08X
LSNO LSN do registro com esta imagem, formatado como dois números hexadecimais de 8 caracteres %08X-%08X
RELTABLESPACEOID do espaço de tabelas do bloco
DATOIDOID do bloco no banco de dados
RELNODErelfilenode do bloco
BLKNOnúmero do bloco do bloco
FORK O nome da ramificação de onde veio a imagem da página inteira como, por exemplo: main, fsm, vm, ou init.

-?
--help

Mostra a ajuda sobre os argumentos da linha de comando do utilitário pg_waldump, e termina.

Variáveis de ambiente

PGDATA

Diretório de dados; veja também a opção -p.

PG_COLOR

Especifica se devem ser usadas cores nas mensagens de diagnóstico. Os valores possíveis são always, auto e never.

Notas

Pode fornecer resultados errados quando o servidor está em execução.

Somente é mostrada a linha do tempo especificada (ou a linha do tempo padrão, se nenhuma for especificada). Registros em outras linhas do tempo são ignorados.

O utilitário pg_waldump não pode ler os arquivos de WAL com o sufixo .partial. Se estes arquivos precisarem ser lidos, o sufixo .partial precisa ser removido do nome do arquivo.

Exemplo

Exemplo 174. Exemplo do tradutor

Gerenciadores de recursos

Este exemplo mostra a lista de nomes de gerenciadores de recursos válidos.

$ /usr/lib/postgresql/18/bin/pg_waldump --rmgr=list

XLOG
Transaction
Storage
CLOG
Database
Tablespace
MultiXact
RelMap
Standby
Heap2
Heap
Btree
Hash
Gin
Gist
Sequence
SPGist
BRIN
CommitTs
ReplicationOrigin
Generic
LogicalMessage


Veja também

Estrutura interna do WAL