Это можно сделать с помощью триггера события :
CREATE OR REPLACE FUNCTION on_create_table_func()
RETURNS event_trigger AS $$
BEGIN
-- your code here
END
$$
LANGUAGE plpgsql;
CREATE EVENT TRIGGER
on_create_table ON ddl_command_end
WHEN TAG IN ('CREATE TABLE')
EXECUTE PROCEDURE on_create_table_func();
Обратите внимание, что нет способа напрямую выполнить какой-либо запрос к вновь созданной таблице или даже получить ее имя.Я не знаю, что вы имеете в виду под «добавить 2 функции в каждую таблицу», поскольку функции не принадлежат определенной таблице, но если вам нужно выполнить операцию, специфичную для новых таблиц, это может быть не для вас.