vacuumlo — remove objetos grandes órfãos de um banco de dados do PostgreSQL
vacuumlo [opção...] nome_do_banco_de_dados...
O vacuumlo é um programa utilitário simples,
que remove quaisquer objetos grandes “órfãos” de um
banco de dados do PostgreSQL.
É considerado como objeto grande (LO) órfão qualquer LO cujo
OID não aparece em nenhuma coluna de dados
oid ou lo do banco de dados.
Se estiver usando vacuumlo, também é possível
haver interesse no gatilho lo_manage no módulo
lo.
O gatilho lo_manage serve para tentar evitar
a criação de objetos grandes órfãos em primeiro lugar.
São processados todos os bancos de dados especificados na linha de comando.
O utilitário vacuumlo aceita os seguintes argumentos na linha de comando:
-l limit--limit=limit
Não remove mais do que limit objetos
grandes por transação (o valor padrão é 1000).
Como o servidor adquire um bloqueio por objeto grande removido,
a remoção de muitos objetos grandes em uma transação poderá
exceder max_locks_per_transaction.
O limite deverá ser definido como zero, se for desejado que todas
as remoções sejam feitas em uma única transação.
-n--dry-runNão remove nada, apenas mostra o que seria feito.
-v--verboseEscreve muitas mensagens de progresso.
-V--versionMostra a versão do vacuumlo e termina.
-?--helpMostra a ajuda sobre os argumentos da linha de comando do vacuumlo e termina.
O utilitário vacuumlo também aceita os seguintes argumentos de linha de comando para parâmetros de conexão:
-h host--host=hostHospedeiro do servidor de banco de dados.
-p port--port=portPorta do servidor de banco de dados.
-U username--username=usernameNome de usuário para conectar como.
-w--no-password
Nunca emite uma solicitação de senha.
Se o servidor exigir autenticação por senha, e uma senha não
estiver disponível por outros meios, como o arquivo
.pgpass, a tentativa de conexão irá falhar.
Esta opção pode ser útil em tarefas em lote e scripts nos quais
nenhum usuário está presente para inserir uma senha.
-W--passwordForça o vacuumlo solicitar uma senha antes de se conectar a um banco de dados.
Esta opção nunca é essencial, porque o
vacuumlo solicita automaticamente
a senha se o servidor exigir autenticação por senha.
No entanto, o vacuumlo irá desperdiçar
uma tentativa de conexão ao descobrir que o servidor pede uma senha.
Em alguns casos vale a pena digitar -W para
evitar a tentativa extra de conexão.
PGHOSTPGPORTPGUSERParâmetros de conexão padrão
Este utilitário, como a maioria dos outros utilitários do PostgreSQL, usa as variáveis de ambiente com suporte pela 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.
O utilitário vacuumlo trabalha segundo
o seguinte método.
Primeiro, vacuumlo constrói uma tabela
temporária contendo todos os OIDs dos objetos
grandes no banco de dados selecionado.
Em seguida, verifica todas as colunas do banco de dados que são dos
tipos de dados oid ou lo, e remove as
entradas correspondentes da tabela temporária.
(Nota: Somente os tipos de dados com estes nomes são considerados;
em particular, os domínios sobre estes não são considerados.)
As entradas restantes na tabela temporária identificam objetos
grandes órfãos. Estes então são removidos.
Peter Mount <peter@retep.org.uk>