F.21. fasttrun — транзакционно-небезопасная функция для усечения временных таблиц #
Модуль fasttrun предоставляет транзакционно-небезопасную функцию для усечения временных таблиц, предотвращающую разрастание каталога pg_class.
Этот модуль требуется для поддержки системы 1С:Предприятие.
Операция быстрого усечения не является транзакционной, так что её действие нельзя отменить и оно немедленно становится видимым во всех сеансах независимо от уровня изоляции.
F.21.2. Тестовый пример #
Для тестирования вы можете использовать этот пример:
create or replace function f() returns void as $$
begin
for i in 1..1000
loop
PERFORM fasttruncate('tt1');
end loop;
end;
$$ language plpgsql;
F.21.3. Авторы #
Фёдор Сигаев <teodor@sigaev.ru>
F.21. fasttrun — a transaction unsafe function to truncate temporary tables #
The fasttrun module provides transaction unsafe function to truncate temporary tables without growing pg_class size.
This module is required for 1C Enterprise support.
Fast truncate operation is not transactional, so its results cannot be rolled back and become immediately visible in all sessions regardless of isolation level.
F.21.2. Test example #
For tests you can use this example:
create or replace function f() returns void as $$
begin
for i in 1..1000
loop
PERFORM fasttruncate('tt1');
end loop;
end;
$$ language plpgsql;
F.21.3. Authors #
Teodor Sigaev <teodor@sigaev.ru>