Как сделать так, чтобы моя триггерная функция выполнялась асинхронно для обновления поля tsvector?
Я новичок в postgres. Предположим, у меня есть две модели AnimalType и Animal. И у меня есть поле search_vector типа tsvector в модели Animal. Я создал триггер, который при каждом обновлении строки AnimalType должен обновлять searchvector для каждого животного, связанного с этим AnimalType.
CREATE OR REPLACE FUNCTION update_animal_type()
RETURNS TRIGGER
LANGUAGE plpgsql AS $$
BEGIN
UPDATE animal SET search_vector = NULL
WHERE animal_type_id = NEW.id;
RETURN NEW;
END;
$$;
CREATE TRIGGER animal_type_update_trigger
AFTER UPDATE OF animal_type_name ON animal_type
FOR EACH ROW EXECUTE PROCEDURE update_animal_type();
Обновление одной строки типа животного занимает много времени, когда у нас есть большое количество животных, связанных с этим конкретным типом животного. Является ли это поведение синхронным или асинхронным? Если это синхронное поведение, то как я могу заставить его вести себя асинхронно?