Quero gerenciar a cópia do arquivamento em um local remoto. Para isso, quero excluir todos os arquivos que copiei, a menos que sejam exigidos pelo standby.
Portanto, para executar pg_archivecleanup $ARCLOC $CHECKPOINT
, preciso encontrar o ponto de verificação mais recente que pode ser excluído. Não vejo os .backup
arquivos recentes, pois são muito antigos para minha capacidade de arquivamento. O que eu quero ver é o replay_location
\ replay_lsn
(depende da versão) de pg_stat_replication
.
No entanto, não sei como converter de replay_location
valor para valor de ponto de verificação. 7/2DBCED18
Ou seja, de algo como 000000020000000700000029
.
Responda:
Função é:pg_xlogfile_name
Ao iniciar um backup ou interromper um backup, você obterá uma localização WAL, se quiser saber sua localização física no disco, use a seguinte função:
select pg_xlogfile_name('7/2DBCED18');
Você pode usar pg_controldata para obter o arquivo redo wal do ponto de verificação mais recente. e pg_archivecleanup para remover wals antes desse ponto.