vacuumlo

vacuumlo — удалить потерянные большие объекты из базы данных QHB


Синтаксис

vacuumlo [параметр...] имя_бд...


Описание

vacuumlo — это простая программа-утилита, которая удалит все «потерянные» большие объекты из базы данных QHB. Потерянным большим объектом (БО) считается любой БО, OID которого не фигурирует ни в одном столбце данных oid или lo в базе данных.

Если вы пользуетесь этой утилитой, вас также может заинтересовать триггер lo_manage в модуле lo. lo_manage полезен тем, что пытается предотвратить образование потерянных БО в принципе.

Обрабатываются все базы данных, перечисленные в командной строке.


Параметры

vacuumlo принимает следующие аргументы командной строки:

-l предел
--limit=предел
Удалять в одной транзакции не более заданного предела больших объектов (количество по умолчанию — 1000). Поскольку сервер запрашивает блокировку для каждого удаляемого БО, удаление слишком большого количества БО в одной транзакции чревато превышением лимита max_locks_per_transaction. Если вы хотите удалить все в одной транзакции, установите этот предел равным нулю.

-n
--dry-run
Не удалять ничего, просто показать предполагаемые операции.

-v
--verbose
Выводить множество сообщений о прогрессе.

-V
--version
Вывести версию vacuumlo и завершиться.

-?
--help
Показать справку об аргументах командной строки vacuumlo и завершиться.

Кроме того, в качестве параметров подключения vacuumlo принимает следующие аргументы командной строки:

-h хост
--host=хост
Имя хост-компьютера, на котором работает сервер баз данных.

-p порт
--port=порт
Порт сервера баз данных.

-U имя_пользователя
--username=имя_пользователя
Имя пользователя, под которым производится подключение.

-w
--no-password
Не запрашивать ввод пароля. Если серверу требуется аутентификация по паролю, и пароль недоступен с помощью иных средств, таких как файл .pgpass, попытка подключения завершится неудачно. Этот параметр может быть полезен в пакетных заданиях и скриптах, где нет пользователя, чтобы ввести пароль.

-W
--password
Принудительно запрашивать пароль перед подключением к базе данных.

Это несущественный параметр, так как vacuumlo автоматически запросит пароль, если сервер требует аутентификацию по паролю. Однако чтобы выяснить это, vacuumlo потребуется дополнительная попытка подключения к серверу. В некоторых случаях имеет смысл ввести -W, чтобы исключить эту лишнюю попытку.


Переменные среды

PGHOST
PGPORT
PGUSER
Параметры подключения по умолчанию.

Эта утилита, как и большинство других утилит QHB, также использует переменные среды, поддерживаемые libpq (см. раздел Переменные среды).

Переменная среды PG_COLOR указывает, использовать ли цвет в диагностических сообщениях. Возможные значения: always (всегда), auto (автоматически) и never (никогда).


Примечания

Утилита vacuumlo работает следующим образом: сначала она создает временную таблицу, содержащую все OID больших объектов в выбранной базе данных. Затем она сканирует все столбцы в базе данных, имеющие тип oid или lo, и удаляет соответствующие записи из временной таблицы. (Примечание: рассматриваются только типы именно с этими именами; в частности, домены на их базе не рассматриваются.) Оставшиеся записи во временной таблице указывают на потерянные БО, которые и удаляются.


Автор

Питер Маунт (Peter Mount), peter@retep.org.uk