首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新tsvector更新触发器

更新tsvector更新触发器
EN

Stack Overflow用户
提问于 2012-11-24 23:40:18
回答 1查看 1K关注 0票数 4

我对一个表上的tsvector列'user_tsv‘有以下tsvector更新触发器,它允许我执行全文搜索。

代码语言:javascript
复制
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

提前感谢

大卫

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-25 09:06:12

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

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13542712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档