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.
There is a function call example:
select fasttruncate('TABLE_NAME');
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;
Teodor Sigaev <teodor@sigaev.ru>