gpt4 book ai didi

sql - 更新 tsvector 更新触发器

转载 作者:行者123 更新时间:2023-11-29 11:33:45 27 4
gpt4 key购买 nike

我有以下 tsvector 更新触发器,用于表上的 tsvector 列“user_tsv”,允许我执行全文搜索,

CREATE TRIGGER tsvector_user_update BEFORE INSERT OR UPDATE ON users
FOR EACH ROW EXECUTE PROCEDURE
tsvector_update_trigger(user_tsv, 'pg_catalog.english', firstname, surname, email);
CREATE INDEX user_index_tsv ON users USING gin(user_tsv);

我已经在表中添加了另一列,我想将其包含在此触发器中,是否有任何方法可以更新触发器(以及 tsvector 列),或者我是否需要删除列/触发器并重新添加他们?

PostgreSQL 9.0

提前致谢

大卫

最佳答案

您无需删除列或索引,只需删除并重新创建触发器并更新任何已更改的字段。

使用常规 DROP TRIGGER 语句删除触发器,然后使用 tsvector_update_trigger 使用新列重新创建它,所有这些都在同一个事务中。如果您已经添加了列,现在 UPDATE tablename SET user_tsv = ... WHERE new_column IS NOT NULL 更新列。检查 tsvector update 触发器的来源,找出要在赋值中使用的适当表达式。

关于sql - 更新 tsvector 更新触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13542712/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com