CONTENT_TABLE
id | author | timestamp | title | description
----+-----------------+-----------+----------------+----------------------
(0 rows)
SEARCH_TABLE
id | content_type_id | object_id | tsvector_title | tsvector_description
----+-----------------+-----------+----------------+----------------------
(0 rows)
当CONTENT_TABLE被更新/插入时,我必须触发一个触发器
这样的事情:
"CREATE TRIGGER tsvectorupdate BEFORE INSERT OR UPDATE ON course_course FOR EACH ROW EXECUTE PROCEDURE tsvector_update_trigger(SHOULD_BE_THE_COLUMN_OF_SEARCH_TABLE(tsvector_description), 'pg_catalog.english', description);"
任何形式的帮助将不胜感激。提前谢谢。
答案 0 :(得分:3)
默认的tsvector_update_trigger无法查看另一个表。但是如果你自己编写(例如pl / pgsql),你可以轻松地做到这一点。见http://www.postgresql.org/docs/8.4/static/plpgsql-trigger.html。您只需要收集数据并让函数调用to_tsvector(),将结果保留在tsvector列中。