Olá Ana Ferreira,
O comando VACUUM FULL adquire um bloqueio exclusivo do tipo AccessExclusiveLock, impedindo tanto leituras quanto escritas durante todo o processamento. Para evitar indisponibilidade, o utilitário pg_repack cria uma nova tabela cópia, sincroniza as alterações simultâneas por meio de gatilhos temporários e realiza a substituição final dos arquivos com um bloqueio exclusivo mínimo de frações de segundo.
Para utilizá-lo sem impactos, garanta previamente que a tabela possua uma chave primária válida e espaço livre em disco equivalente ao dobro do tamanho da relação. Em seguida, após registrar a extensão no banco com CREATE EXTENSION pg_repack, execute o binário externo indicando a tabela com o parâmetro -t e configure a opção wait-timeout para impedir que a aquisição do lock final fique presa atrás de transações longas. Se essas orientações ajudaram a otimizar sua base sem interrupções, convido você a aceitar a resposta.
Tracy Le.