vacuumlo — elimina objetos grandes huérfanos de una base de datos de PostgreSQL
vacuumlo [opción...] dbname...
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.
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-runNo elimina nada, solo muestra lo que se haría.
-v--verboseEscribe muchos mensajes de progreso.
-V--versionMuestra la versión de vacuumlo y termina.
-?--helpMuestra 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=hostHost del servidor de base de datos.
-p puerto--port=puertoPuerto del servidor de base de datos.
-U usuario--username=usuarioNombre 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--passwordFuerza 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.
PGHOSTPGPORTPGUSERPará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.
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.
Peter Mount <[email protected]>