vacuumlo

vacuumlo — elimina objetos grandes huérfanos de una base de datos de PostgreSQL

Synopsis

vacuumlo [opción...] dbname...

Descripción

vacuumlo es un programa de utilidad simple que eliminará cualquier objeto grande huérfano de una base de datos de PostgreSQL. Se considera objeto grande (LO) huérfano a cualquier LO cuyo OID no aparezca en ninguna columna de datos de tipo oid o lo de la base de datos.

Si utilizas esto, también podría interesarte el trigger lo_manage en el módulo lo. lo_manage es útil para intentar evitar la creación de LOs huérfanos en primer lugar.

Se procesan todas las bases de datos nombradas en la línea de comandos.

Opciones

vacuumlo acepta los siguientes argumentos de línea de comandos:

-l límite
--limit=límite

No elimina más de límite objetos grandes por transacción (por defecto 1000). Dado que el servidor adquiere un bloqueo por cada LO eliminado, eliminar demasiados LOs en una sola transacción corre el riesgo de superar el límite max_locks_per_transaction. Establece el límite en cero si deseas que todas las eliminaciones se realicen en una sola transacción.

-n
--dry-run

No elimina nada, solo muestra lo que se haría.

-v
--verbose

Escribe muchos mensajes de progreso.

-V
--version

Muestra la versión de vacuumlo y termina.

-?
--help

Muestra la ayuda sobre los argumentos de línea de comandos de vacuumlo y termina.

vacuumlo también acepta los siguientes argumentos de línea de comandos para los parámetros de conexión:

-h host
--host=host

Host del servidor de base de datos.

-p puerto
--port=puerto

Puerto del servidor de base de datos.

-U usuario
--username=usuario

Nombre de usuario con el que conectarse.

-w
--no-password

Nunca solicita una contraseña. Si el servidor requiere autenticación por contraseña y no hay ninguna contraseña disponible por otros medios, como un archivo .pgpass, el intento de conexión fallará. Esta opción puede ser útil en tareas por lotes (batch jobs) y scripts donde no hay un usuario presente para introducir una contraseña.

-W
--password

Fuerza a vacuumlo a solicitar una contraseña antes de conectarse a una base de datos.

Esta opción nunca es indispensable, ya que vacuumlo solicitará automáticamente una contraseña si el servidor exige autenticación por contraseña. Sin embargo, vacuumlo desperdiciará un intento de conexión para descubrir que el servidor requiere una contraseña. En algunos casos vale la pena especificar -W para evitar el intento de conexión adicional.

Entorno

PGHOST
PGPORT
PGUSER

Parámetros de conexión predeterminados.

Esta utilidad, al igual que la mayoría de las demás utilidades de PostgreSQL, también utiliza las variables de entorno admitidas por libpq (consulta la Section 32.15).

La variable de entorno PG_COLOR especifica si se debe utilizar color en los mensajes de diagnóstico. Los valores posibles son always, auto y never.

Notas

vacuumlo funciona mediante el siguiente método: Primero, vacuumlo crea una tabla temporal que contiene todos los OIDs de los objetos grandes en la base de datos seleccionada. Luego escanea todas las columnas de la base de datos que son de tipo oid o lo, y elimina las entradas coincidentes de la tabla temporal. (Nota: Solo se consideran los tipos con estos nombres; en particular, no se consideran los dominios sobre ellos). Las entradas restantes en la tabla temporal identifican los LOs huérfanos. Estos son eliminados.

Autor

Peter Mount