PostgreSQL превышен предел глубины стека
Хочу создать триггер с операцией апдейт, но получаю ошибку при занесении данных в таблицу: "ОШИБКА: превышен предел глубины стека". Не могу понять в чем проблема и как можно исправить. (Суть того, что я пытаюсь сделать. Я хочу занести данные в другую таблицу, после того как в данной таблице на которой триггер был произведен апдейт)
CREATE OR REPLACE FUNCTION schema._trigger_for_sql_()
RETURNS trigger
LANGUAGE plpgsql
AS
$$
DECLARE
BEGIN
IF (TG_OP = 'UPDATE') THEN
UPDATE _his AS t SET
_upd = now(),
_table_size_byte = pg_table_size(_table_name),
_indexes_size_byte = pg_indexes_size(_table_name),
_total_size_byte = pg_total_relation_size(_table_name)
FROM (
SELECT
table_schema,
table_name,
('"' || table_schema || '"."' || table_name || '"') AS _table_name
FROM information_schema.tables
WHERE table_type = 'BASE TABLE' AND table_schema = TG_TABLE_SCHEMA
AND table_name = TG_TABLE_NAME
) AS all_t
WHERE t._schema = TG_TABLE_SCHEMA
AND t._table = TG_TABLE_NAME;
END IF;
RETURN NEW;
END;
$$;
CREATE TRIGGER trigger_sql
AFTER INSERT OR UPDATE OR DELETE ON schema.table
FOR EACH ROW
EXECUTE FUNCTION schema._trigger_for_sql_()'