Postgres 9.4 を実行しています。
このトリガーによって入力された main_search_index_col という列があります。
main_vector_update BEFORE INSERT OR UPDATE ON the_entries
FOR EACH ROW EXECUTE PROCEDURE
svector_update_trigger('main_search_index_col','pg_catalog.english', 'name', 'location', 'type')
先に進み、unaccent_english (public.unaccent_english) という新しいテキスト検索構成を作成して、pg_catalog.english を置き換えました。
上記のトリガーを削除し、pg_catalog.english の代わりに public.unaccent_english を使用してやり直しました。
the_entries にトリガー main_vector_update をドロップします。
CREATE TRIGGER main_vector_update BEFORE INSERT OR UPDATE ON the_entries
FOR EACH ROW EXECUTE PROCEDURE
tsvector_update_trigger('main_search_index_col','public.unaccent_english', 'name', 'location', 'type');
しかし、私が理解しているように、行が更新されるか新しい行が追加されない限り、main_search_index_col の値は変更されません。
代わりに、行ごとに main_search_index_col を更新して更新するか、列を削除して完全に再作成し、新しいフォームのトリガーが常に存在しているかのように入力したいと考えています。
新しいトリガーに対して列 main_search_index_col の内容を正しくするにはどうすればよいですか?
また、tsvector_update_trigger の正確な定義を確認するにはどうすればよいですか? その定義を読むことができれば、独自のソリューションを作成するのに役立つと思います.