Перейти к основному содержимому

vacuumlo

примечание

Эта страница переведена при помощи нейросети GigaChat.

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

Краткий обзор

vacuumlo [option...] dbname...

Описание

vacuumlo – это утилита, которая удаляет любые «потерянные» большие объекты из базы данных PostgreSQL. Потерянный большой объект (LO) считается любым LO, чей OID не появляется ни в одном столбце данных oid или lo базы данных.

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

Все базы данных, указанные в командной строке, обрабатываются.

Опции

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

-l limit
--limit=limit

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

-n
--dry-run

Не удалять ничего, только показать, какие операции должны были выполняться.

-v
--verbose

Вывести подробные сообщения о ходе выполнения.

-V
--version

Отобразить версию vacuumlo и завершить работу.

-?
--help

Показать справку о параметрах командной строки команды vacuumlo, а затем завершить работу.

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

-h host
--host=host

Имя хоста сервера баз данных.

-p port
--port=port

Порт сервера баз данных.

-U username
--username=username

Имя пользователя для подключения.

-w
--no-password

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

-W
--password

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

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

Переменные окружения

PGHOST
PGPORT
PGUSER

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

Утилита vacuumlo, как и большинство других утилит PostgreSQL, также использует переменные окружения, поддерживаемые libpq.

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

Примечания

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