Is it possible to have a variable number of elements in TG_ARGV in a trigger?
create trigger tg_mytrig after insert on mytable for each row execute procedure my_trigger('opt1', 'opt2', 'opt3');
create trigger tg_mytrig after insert on mytable for each row execute procedure my_trigger('opt1', 'opt2', 'opt3', 'optional opt4');
With some kind of null check on TG_ARGV[4] inside the trigger.