Potrzebujesz dynamicznego SQL z EXECUTE
jeśli chcesz przekazać identyfikatory (lub ich części) jako parametry:
CREATE OR REPLACE FUNCTION f_trunc(pos text)
RETURNS void AS
$func$
BEGIN
EXECUTE format('TRUNCATE %I', massive_table_ || pos);
END
$func$ LANGUAGE plpgsql;
Oto dwie powiązane odpowiedzi z wieloma wyjaśnieniami i linkami: