vacuumlo
vacuumlo — удалить потерянные большие объекты из базы данных Postgres Pro
Синтаксис
vacuumlo [параметр...] dbname...
Описание
Программа vacuumlo представляет собой простую утилиту, которая удаляет все «потерянные» большие объекты из базы данных Postgres Pro. Потерянным большим объектом (БО) считается такой БО, 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, чтобы исключить эту ненужную попытку подключения.
Переменные окружения
PGHOSTPGPORTPGUSERПараметры подключения по умолчанию.
Эта утилита, как и большинство других утилит Postgres Pro, также использует переменные среды, поддерживаемые libpq (см. Раздел 33.15).
Переменная окружения PG_COLOR выбирает вариант использования цвета в диагностических сообщениях. Возможные значения: always (всегда), auto (автоматически) и never (никогда).
Примечания
Программа vacuumlo работает следующим образом: сначала vacuumlo строит временную таблицу, содержащую все OID больших объектов в выбранной базе данных. Затем она сканирует все столбцы в базе данных, имеющие тип oid или lo, и удаляет соответствующие записи из временной таблицы. (Замечание: рассматриваются только типы именно с такими именами, а не, например, домены на их базе.) Оставшиеся записи во временной таблице указывают на потерянные БО, которые затем и удаляются.
Автор
Питер Маунт <peter@retep.org.uk>