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 функции в каждую таблицу", поскольку функции не принадлежат определенной таблице, но если вам нужно выполнить операцию, специфичную для новых таблиц, это может быть не для вас.
Ответ 3
Вы ищете "Триггеры DDL". Они не реализованы в PostgreSQL. Также вы не можете добавлять триггеры в системные таблицы. Посмотрите на эту запись на форуме: